/*! CPGS design system for Divi. All selectors are scoped to body.cpgs. For small changes, add overrides in Divi > Theme Options > Custom CSS (or the child theme style.css) rather than editing this file. */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-tight-latin-wght-normal.woff2) format("woff2")}
:root{--cpgs-i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M5 12h14' /%3E %3Cpath d='m12 5 7 7-7 7' /%3E %3C/svg%3E");--cpgs-i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M20 6 9 17l-5-5' /%3E %3C/svg%3E");--cpgs-i-check-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M20 6 9 17l-5-5' /%3E %3C/svg%3E");--cpgs-i-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='m6 9 6 6 6-6' /%3E %3C/svg%3E");--cpgs-i-workflow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Crect width='8' height='8' x='3' y='3' rx='2' /%3E %3Cpath d='M7 11v4a2 2 0 0 0 2 2h4' /%3E %3Crect width='8' height='8' x='13' y='13' rx='2' /%3E %3C/svg%3E");--cpgs-i-lock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Ccircle cx='12' cy='16' r='1' /%3E %3Crect x='3' y='10' width='18' height='12' rx='2' /%3E %3Cpath d='M7 10V7a5 5 0 0 1 10 0v3' /%3E %3C/svg%3E");--cpgs-i-key:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z' /%3E %3Ccircle cx='16.5' cy='7.5' r='.5' fill='currentColor' /%3E %3C/svg%3E");--cpgs-i-shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z' /%3E %3Cpath d='m9 12 2 2 4-4' /%3E %3C/svg%3E");--cpgs-i-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3' /%3E %3Cpath d='M12 9v4' /%3E %3Cpath d='M12 17h.01' /%3E %3C/svg%3E");--cpgs-i-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384' /%3E %3C/svg%3E");--cpgs-i-message:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z' /%3E %3C/svg%3E");--cpgs-i-arrow-ur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M7 7h10v10' /%3E %3Cpath d='M7 17 17 7' /%3E %3C/svg%3E");--cpgs-i-arrow-ur-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M7 7h10v10' /%3E %3Cpath d='M7 17 17 7' /%3E %3C/svg%3E");--cpgs-i-play:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z' /%3E %3Ccircle cx='12' cy='12' r='10' /%3E %3C/svg%3E");--cpgs-i-shield-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z' /%3E %3Cpath d='m9 12 2 2 4-4' /%3E %3C/svg%3E");--cpgs-i-bank:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M10 18v-7' /%3E %3Cpath d='M11.119 2.205a2 2 0 0 1 1.762 0l7.84 3.846A.5.5 0 0 1 20.5 7h-17a.5.5 0 0 1-.22-.949z' /%3E %3Cpath d='M14 18v-7' /%3E %3Cpath d='M18 18v-7' /%3E %3Cpath d='M3 22h18' /%3E %3Cpath d='M6 18v-7' /%3E %3C/svg%3E");--cpgs-i-higher-ed:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z' /%3E %3Cpath d='M22 10v6' /%3E %3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5' /%3E %3C/svg%3E");--cpgs-i-school:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M14 21v-3a2 2 0 0 0-4 0v3' /%3E %3Cpath d='M18 4.933V21' /%3E %3Cpath d='m4 6 7.106-3.79a2 2 0 0 1 1.788 0L20 6' /%3E %3Cpath d='m6 11-3.52 2.147a1 1 0 0 0-.48.854V19a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a1 1 0 0 0-.48-.853L18 11' /%3E %3Cpath d='M6 4.933V21' /%3E %3Ccircle cx='12' cy='9' r='2' /%3E %3C/svg%3E");--cpgs-i-warehouse:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M18 21V10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v11' /%3E %3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 1.132-1.803l7.95-3.974a2 2 0 0 1 1.837 0l7.948 3.974A2 2 0 0 1 22 8z' /%3E %3Cpath d='M6 13h12' /%3E %3Cpath d='M6 17h12' /%3E %3C/svg%3E");--cpgs-i-medical:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M11 2v2' /%3E %3Cpath d='M5 2v2' /%3E %3Cpath d='M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1' /%3E %3Cpath d='M8 15a6 6 0 0 0 12 0v-3' /%3E %3Ccircle cx='20' cy='10' r='2' /%3E %3C/svg%3E");--cpgs-i-support:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z' /%3E %3Cpath d='M21 16v2a4 4 0 0 1-4 4h-5' /%3E %3C/svg%3E");--cpgs-i-sparkles:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z' /%3E %3Cpath d='M20 2v4' /%3E %3Cpath d='M22 4h-4' /%3E %3Ccircle cx='4' cy='20' r='2' /%3E %3C/svg%3E");--cpgs-i-clipboard-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Crect width='8' height='4' x='8' y='2' rx='1' ry='1' /%3E %3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2' /%3E %3Cpath d='m9 14 2 2 4-4' /%3E %3C/svg%3E");--cpgs-i-package-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M12 22V12' /%3E %3Cpath d='m16 17 2 2 4-4' /%3E %3Cpath d='M21 11.127V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.32-.753' /%3E %3Cpath d='M3.29 7 12 12l8.71-5' /%3E %3Cpath d='m7.5 4.27 8.997 5.148' /%3E %3C/svg%3E");--cpgs-i-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='m21 21-4.34-4.34' /%3E %3Ccircle cx='11' cy='11' r='8' /%3E %3C/svg%3E");--cpgs-i-list-checks:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M13 5h8' /%3E %3Cpath d='M13 12h8' /%3E %3Cpath d='M13 19h8' /%3E %3Cpath d='m3 17 2 2 4-4' /%3E %3Cpath d='m3 7 2 2 4-4' /%3E %3C/svg%3E");--cpgs-i-wrench:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z' /%3E %3C/svg%3E");--cpgs-i-badge-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z' /%3E %3Cpath d='m16 9-5.5 5.5L8 12' /%3E %3C/svg%3E");--cpgs-i-bar-chart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M3 3v16a2 2 0 0 0 2 2h16' /%3E %3Cpath d='M18 17V9' /%3E %3Cpath d='M13 17V5' /%3E %3Cpath d='M8 17v-3' /%3E %3C/svg%3E");--cpgs-i-refresh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8' /%3E %3Cpath d='M21 3v5h-5' /%3E %3Cpath d='M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16' /%3E %3Cpath d='M8 16H3v5' /%3E %3C/svg%3E");--cpgs-i-lock-keyhole:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Ccircle cx='12' cy='16' r='1' /%3E %3Crect x='3' y='10' width='18' height='12' rx='2' /%3E %3Cpath d='M7 10V7a5 5 0 0 1 10 0v3' /%3E %3C/svg%3E");--cpgs-i-symbol:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 871.97 864.094' fill='%23000000'%3E%3Cpath d='M349.499,820.579l48.274-156.681c5.45-17.69,17.854-31.438,37.815-35.22,50.191-78.004,119.62-136.957,195.118-191.848,9.416-11.855,16.915-28.552,34.73-32.602l172.712-39.267c7.605-1.729,27.864,4.425,29.138,12.586,14.594,93.473-5.545,183.855-51.59,266.146-89.283,159.567-272.065,245.2-452.403,214.072-15.221-2.627-17.471-25.248-13.793-37.186Z'/%3E%3Cpath d='M317.371,596.508c20.266,14.391,20.719,31.154,14.496,50.582l-49.18,153.538c-3.925,12.254-23.075,22.226-34.776,16.907-97.43-44.291-169.952-121.611-212.412-218.65-47.347-108.209-47.593-226.387.826-334.222,17.333-38.603,36.83-72.452,64.348-105.718,5.602-6.773,26.58-5.638,32.672.41l89.511,88.86c28.353,28.147,52.616,58.137,35.114,87.224l30.223,87.174c19.431,56.044,28.673,112.636,29.177,173.896Z'/%3E%3Cpath d='M602.681,316.041l-166.472-37.26c-29.052-6.502-56.772-29.708-85.09-32.863-19.538-2.177-31.486,4.053-46.994-12.581l-111.558-119.656c-4.201-4.507-9.172-15.63-8.777-21.023.394-5.393,6.381-14.79,11.903-18.49,161.708-108.347,373.212-96.789,523.744,26.834,51.716,42.471,87.777,95.654,117.652,156.257,4.195,8.511,6.087,21.29,2.981,28.466-3.61,8.34-13.854,15.803-23.26,17.81l-167.124,35.661c-22.229,4.743-34.711-5.608-47.005-23.153Z'/%3E%3C/svg%3E");--cpgs-i-symbol-pink:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 871.97 864.094' fill='%23E20073'%3E%3Cpath d='M349.499,820.579l48.274-156.681c5.45-17.69,17.854-31.438,37.815-35.22,50.191-78.004,119.62-136.957,195.118-191.848,9.416-11.855,16.915-28.552,34.73-32.602l172.712-39.267c7.605-1.729,27.864,4.425,29.138,12.586,14.594,93.473-5.545,183.855-51.59,266.146-89.283,159.567-272.065,245.2-452.403,214.072-15.221-2.627-17.471-25.248-13.793-37.186Z'/%3E%3Cpath d='M317.371,596.508c20.266,14.391,20.719,31.154,14.496,50.582l-49.18,153.538c-3.925,12.254-23.075,22.226-34.776,16.907-97.43-44.291-169.952-121.611-212.412-218.65-47.347-108.209-47.593-226.387.826-334.222,17.333-38.603,36.83-72.452,64.348-105.718,5.602-6.773,26.58-5.638,32.672.41l89.511,88.86c28.353,28.147,52.616,58.137,35.114,87.224l30.223,87.174c19.431,56.044,28.673,112.636,29.177,173.896Z'/%3E%3Cpath d='M602.681,316.041l-166.472-37.26c-29.052-6.502-56.772-29.708-85.09-32.863-19.538-2.177-31.486,4.053-46.994-12.581l-111.558-119.656c-4.201-4.507-9.172-15.63-8.777-21.023.394-5.393,6.381-14.79,11.903-18.49,161.708-108.347,373.212-96.789,523.744,26.834,51.716,42.471,87.777,95.654,117.652,156.257,4.195,8.511,6.087,21.29,2.981,28.466-3.61,8.34-13.854,15.803-23.26,17.81l-167.124,35.661c-22.229,4.743-34.711-5.608-47.005-23.153Z'/%3E%3C/svg%3E")}
/* ==========================================================================
   CPGS design system for Divi (child theme)
   Operational Modernism: black, white, pink #E20073 (signal only).
   Selectors are prefixed with body.cpgs at build time so they win over
   Divi's defaults while staying below Divi 5's per-module !important values.
   ========================================================================== */

/* ---------- Tokens (global, not prefixed) ---------- */
:root {
  /* Each token reads the matching Divi 5 design variable first (Divi > Variable Manager),
     so editing a CPGS variable or colour in Divi restyles the whole site. The second value
     is the fallback used until the variables are imported. */
  --cpgs-bg: var(--gcid-cpgs-paper, #FAFAF8);
  --cpgs-fg: var(--gcid-cpgs-ink, #111111);
  --cpgs-surface: var(--gcid-cpgs-white, #FFFFFF);
  --cpgs-soft: var(--gcid-cpgs-soft, #F6F6F4);
  --cpgs-muted: var(--gcid-cpgs-muted, #68686D);
  --cpgs-ink: var(--gcid-cpgs-ink, #111111);
  --cpgs-black: var(--gcid-cpgs-black, #000000);
  --cpgs-line: var(--gcid-cpgs-line, #DEDDD8);
  --cpgs-signal: var(--gcid-cpgs-pink, #E20073);
  --cpgs-signal-deep: var(--gcid-cpgs-pink-deep, #8A0046);
  --cpgs-danger: #BB061E;
  --cpgs-radius: var(--gvid-cpgs-radius, 6px);
  --cpgs-radius-lg: var(--gvid-cpgs-radius-lg, 8px);
  --cpgs-radius-pill: var(--gvid-cpgs-radius-pill, 999px);
  --cpgs-font-display: var(--gvid-cpgs-font-heading, "Inter Tight"), "Inter Tight", ui-sans-serif, system-ui, sans-serif;
  --cpgs-font: var(--gvid-cpgs-font-body, "Inter"), "Inter", ui-sans-serif, system-ui, sans-serif;
  --cpgs-display-xl: var(--gvid-cpgs-display-xl, clamp(3.5rem, 8vw, 7.5rem));
  --cpgs-h1: var(--gvid-cpgs-h1, clamp(2.75rem, 5vw, 4.75rem));
  --cpgs-h2: var(--gvid-cpgs-h2, clamp(2rem, 4vw, 3.5rem));
  --cpgs-h3: var(--gvid-cpgs-h3, clamp(1.5rem, 2.2vw, 2rem));
  --cpgs-body-l: var(--gvid-cpgs-body-l, clamp(1.125rem, 1.4vw, 1.375rem));
  --cpgs-body: var(--gvid-cpgs-body, 16px);
  --cpgs-eyebrow: var(--gvid-cpgs-eyebrow, 0.82rem);
  --cpgs-eyebrow-tracking: var(--gvid-cpgs-eyebrow-tracking, 0em);
  --cpgs-heading-tracking: var(--gvid-cpgs-heading-tracking, 0em);
  --cpgs-container: var(--gvid-cpgs-container, 1280px);
  --cpgs-gutter: var(--gvid-cpgs-gutter, 24px);
  --cpgs-gutter-lg: var(--gvid-cpgs-gutter-lg, 40px);
  --cpgs-section-y: var(--gvid-cpgs-section-y, 96px);
  --cpgs-section-y-mobile: var(--gvid-cpgs-section-y-mobile, 64px);
  --cpgs-section-y-tight: var(--gvid-cpgs-section-y-tight, 80px);
  --cpgs-gap: var(--gvid-cpgs-gap, 24px);
  --cpgs-gap-lg: var(--gvid-cpgs-gap-lg, 56px);
  --cpgs-card-pad: var(--gvid-cpgs-card-padding, 32px);
  --cpgs-btn-h: var(--gvid-cpgs-button-height, 44px);
  --cpgs-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --cpgs-header-h: var(--gvid-cpgs-header-height, 96px);
}

/* ---------- Base ---------- */
html { -webkit-font-smoothing: antialiased; scroll-behavior: smooth; }
body.cpgs {
  background-color: var(--cpgs-bg);
  color: var(--cpgs-fg);
  font-family: var(--cpgs-font);
  font-size: var(--cpgs-body);
  line-height: 1.5;
  font-weight: 400;
  font-feature-settings: "cv11", "ss01";
  overflow-x: clip;
}
body.cpgs #page-container { overflow: visible; background: transparent; }
body.cpgs #main-content, body.cpgs #et-main-area, body.cpgs .et-l--post, body.cpgs .et_builder_inner_content { background: transparent; }
body.cpgs #main-content .container:before { display: none; }
body.cpgs .et_pb_text_inner > p:empty, body.cpgs .et_pb_code_inner > p:empty, body.cpgs .et_pb_toggle_content > p:empty, body.cpgs .et_pb_text_inner > br, body.cpgs .et_pb_code_inner > br, body.cpgs .et_builder_inner_content > p:empty, body.cpgs .entry-content > p:empty, body.cpgs .et_pb_row > p:empty, body.cpgs .et_pb_column > p:empty, body.cpgs .et_pb_section > p:empty { display: none; }
body.cpgs *, body.cpgs *::before, body.cpgs *::after { box-sizing: border-box; }
body.cpgs :focus-visible { outline: 2px solid var(--cpgs-signal); outline-offset: 2px; }
body.cpgs ::selection { background: var(--cpgs-signal); color: #fff; }

body.cpgs h1, body.cpgs h2, body.cpgs h3, body.cpgs h4, body.cpgs h5, body.cpgs h6 {
  font-family: var(--cpgs-font-display);
  letter-spacing: var(--cpgs-heading-tracking);
  text-wrap: balance;
  color: inherit;
  padding: 0;
  margin: 0;
  font-weight: 600;
  line-height: 1.1;
}
body.cpgs :where(.cpgs-s, .cpgs-header, .cpgs-footer) p { padding: 0; margin: 0; }
body.cpgs .cpgs-s a { color: inherit; text-decoration: none; }
body.cpgs .cpgs-s ul, body.cpgs .cpgs-s ol { list-style: none; padding: 0; margin: 0; line-height: inherit; }
body.cpgs .cpgs-s li { margin: 0; }
body.cpgs .cpgs-s strong { font-weight: 600; color: var(--cpgs-fg); }
body.cpgs .cpgs-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ---------- Sections (Divi section + module_class) ---------- */
body.cpgs .et_pb_section.cpgs-s {
  position: relative;
  padding: var(--cpgs-section-y-mobile) 0;
  background-color: var(--cpgs-bg);
  color: var(--cpgs-fg);
}
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s { padding: var(--cpgs-section-y) 0; } }
body.cpgs .et_pb_section.cpgs-tone-default { background-color: var(--cpgs-bg); }
body.cpgs .et_pb_section.cpgs-tone-surface { background-color: var(--cpgs-surface); }
body.cpgs .et_pb_section.cpgs-tone-soft { background-color: var(--cpgs-soft); }
body.cpgs .et_pb_section.cpgs-tone-dark { background-color: var(--cpgs-ink); color: #fff; }

body.cpgs .et_pb_section.cpgs-s--tight { padding: 64px 0; }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--tight { padding: var(--cpgs-section-y-tight) 0; } }
body.cpgs .et_pb_section.cpgs-s--hero { padding: 56px 0 64px; border-bottom: 1px solid var(--cpgs-line); overflow: hidden; }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--hero { padding: 80px 0 96px; } }
body.cpgs .et_pb_section.cpgs-s--hero-sm { padding: 56px 0 64px; border-bottom: 1px solid var(--cpgs-line); }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--hero-sm { padding: 80px 0 80px; } }
body.cpgs .et_pb_section.cpgs-s--home-hero { padding: 64px 0 80px; border-bottom: 1px solid var(--cpgs-line); overflow: hidden; }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--home-hero { padding: 96px 0 112px; } }

/* Watermark: the CLN symbol behind a band */
body.cpgs .cpgs-wm { overflow: hidden; }
body.cpgs .cpgs-wm::before {
  content: "";
  position: absolute;
  pointer-events: none;
  background: var(--cpgs-i-symbol-pink) center / contain no-repeat;
  opacity: 0.07;
  z-index: 0;
}
body.cpgs .cpgs-wm > .et_pb_row { position: relative; z-index: 1; }
body.cpgs .cpgs-wm--hero::before { display: none; top: 32px; right: 24px; width: 224px; height: 224px; }
@media (min-width: 768px) { body.cpgs .cpgs-wm--hero::before { display: block; } }
body.cpgs .cpgs-wm--problem::before { top: -80px; right: -64px; width: 22rem; height: 22rem; opacity: 0.1; }
@media (min-width: 768px) { body.cpgs .cpgs-wm--problem::before { width: 30rem; height: 30rem; } }
body.cpgs .cpgs-wm--accountability::before { bottom: -112px; left: -80px; width: 26rem; height: 26rem; opacity: 0.09; }
@media (min-width: 768px) { body.cpgs .cpgs-wm--accountability::before { width: 34rem; height: 34rem; } }
body.cpgs .cpgs-wm--cta::before { bottom: -128px; left: -96px; width: 24rem; height: 24rem; opacity: 0.14; }
@media (min-width: 768px) { body.cpgs .cpgs-wm--cta::before { width: 32rem; height: 32rem; } }
body.cpgs .cpgs-wm--side::before { display: none; top: 40px; right: 0; width: 18rem; height: 18rem; opacity: 0.06; }
@media (min-width: 768px) { body.cpgs .cpgs-wm--side::before { display: block; } }

/* ---------- Rows = the Container, laid out with CSS grid ---------- */
body.cpgs .et_pb_row.cpgs-row {
  width: 100% !important;
  max-width: var(--cpgs-container) !important;
  margin: 0 auto !important;
  padding: 0 var(--cpgs-gutter) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 48px;
  float: none;
}
@media (min-width: 1024px) { body.cpgs .et_pb_row.cpgs-row { padding: 0 var(--cpgs-gutter-lg) !important; } }
body.cpgs .et_pb_row.cpgs-row::after { display: none; }
body.cpgs .cpgs-row > .et_pb_column, body.cpgs .cpgs-row > div {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  min-width: 0;
  position: relative;
}
body.cpgs .cpgs-row .et_pb_module { margin-bottom: 0 !important; }
body.cpgs .cpgs-row > .et_pb_column:empty { display: none; }

/* vertical rhythm between stacked rows */
body.cpgs .cpgs-row + .cpgs-row { margin-top: 48px !important; }
body.cpgs .cpgs-row.cpgs-mt-0 { margin-top: 0 !important; }
body.cpgs .cpgs-row.cpgs-mt-8 { margin-top: 32px !important; }
body.cpgs .cpgs-row.cpgs-mt-10 { margin-top: 40px !important; }
body.cpgs .cpgs-row.cpgs-mt-14 { margin-top: 56px !important; }
body.cpgs .cpgs-row.cpgs-mt-16 { margin-top: 64px !important; }
body.cpgs .cpgs-row.cpgs-crumbs-row { margin-bottom: 40px !important; }
body.cpgs .cpgs-row.cpgs-crumbs-row + .cpgs-row { margin-top: 0 !important; }

/* named grids */
@media (min-width: 768px) {
  body.cpgs .et_pb_row.cpgs-g-cards2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: var(--cpgs-gap); }
  body.cpgs .et_pb_row.cpgs-g-cards3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: var(--cpgs-gap); }
  body.cpgs .et_pb_row.cpgs-g-team { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 32px; }
}
body.cpgs .et_pb_row.cpgs-g-cards2, body.cpgs .et_pb_row.cpgs-g-cards3 { gap: var(--cpgs-gap); }
body.cpgs .et_pb_row.cpgs-g-hero { gap: 64px; }
body.cpgs .et_pb_row.cpgs-g-split, body.cpgs .et_pb_row.cpgs-g-split-top, body.cpgs .et_pb_row.cpgs-g-lead, body.cpgs .et_pb_row.cpgs-g-contact, body.cpgs .et_pb_row.cpgs-g-trail { gap: var(--cpgs-gap-lg); }
body.cpgs .et_pb_row.cpgs-g-team { gap: 32px; }
@media (min-width: 1024px) {
  body.cpgs .et_pb_row.cpgs-g-team { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  body.cpgs .et_pb_row.cpgs-g-hero { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important; gap: 64px; align-items: center; }
  body.cpgs .et_pb_row.cpgs-g-pagehero { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) !important; align-items: end; }
  body.cpgs .et_pb_row.cpgs-g-techhero { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important; align-items: center; }
  body.cpgs .et_pb_row.cpgs-g-split { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: var(--cpgs-gap-lg); align-items: center; }
  body.cpgs .et_pb_row.cpgs-g-split-top { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 56px; align-items: start; }
  body.cpgs .et_pb_row.cpgs-g-faq { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) !important; }
  body.cpgs .et_pb_row.cpgs-g-faq15 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) !important; }
  body.cpgs .et_pb_row.cpgs-g-side { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) !important; }
  body.cpgs .et_pb_row.cpgs-g-cta { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) !important; gap: 40px; align-items: end; }
  body.cpgs .et_pb_row.cpgs-g-lead { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) !important; gap: 56px; align-items: center; }
  body.cpgs .et_pb_row.cpgs-g-lead-end { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) !important; gap: 40px; align-items: end; }
  body.cpgs .et_pb_row.cpgs-g-contact { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) !important; gap: 56px; }
  body.cpgs .et_pb_row.cpgs-g-trail { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) !important; gap: 56px; align-items: center; }
  body.cpgs .et_pb_row.cpgs-g-industry { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 64px; align-items: center; }
  body.cpgs .cpgs-row > .cpgs-order-first { order: -1; }
}
@media (min-width: 768px) {
  body.cpgs .et_pb_row.cpgs-g-intro-link, body.cpgs .et_pb_row.cpgs-g-related { grid-template-columns: minmax(0, 1fr) auto !important; align-items: end; gap: 24px; }
}
body.cpgs .et_pb_row.cpgs-g-intro-link, body.cpgs .et_pb_row.cpgs-g-related { gap: 24px; }
body.cpgs .et_pb_row.cpgs-g-cta { gap: 40px; }
body.cpgs .et_pb_row.cpgs-g-industry { gap: 40px; border-top: 1px solid var(--cpgs-line); padding-top: 48px !important; padding-bottom: 48px !important; }
body.cpgs .cpgs-row.cpgs-g-industry + .cpgs-row.cpgs-g-industry { margin-top: 0 !important; }
body.cpgs .cpgs-row.cpgs-g-industry.cpgs-first-industry { margin-top: 48px !important; }
/* the industries row needs inner side padding to stay inside the container line */
body.cpgs .et_pb_row.cpgs-g-industry { padding-left: 0 !important; padding-right: 0 !important; width: calc(100% - 48px) !important; }
@media (min-width: 1024px) { body.cpgs .et_pb_row.cpgs-g-industry { width: calc(100% - 80px) !important; max-width: 1200px !important; } }

/* Columns whose modules sit in a wrapping line (text + buttons) */
body.cpgs .cpgs-flexcol { display: flex !important; flex-wrap: wrap; align-content: flex-start; gap: 12px; }
body.cpgs .cpgs-flexcol > .et_pb_module { flex: 0 0 100%; max-width: 100%; }
body.cpgs .cpgs-flexcol > .et_pb_button_module_wrapper, body.cpgs .cpgs-flexcol > :has(> .cpgs-btn) { flex: 0 0 auto; }
body.cpgs .cpgs-row > .cpgs-flexcol > .et_pb_module:not(.et_pb_button_module_wrapper):not(:has(> .cpgs-btn)) { margin-bottom: 24px !important; }
body.cpgs .cpgs-row > .cpgs-flexcol.cpgs-flexcol--home > .et_pb_module:not(.et_pb_button_module_wrapper):not(:has(> .cpgs-btn)) { margin-bottom: 28px !important; }
body.cpgs .cpgs-flexcol.cpgs-flexcol--end { align-content: flex-end; }

@media (min-width: 1024px) { body.cpgs .cpgs-flexcol.cpgs-flexcol--end { justify-content: flex-end; } }
body.cpgs .cpgs-stack { display: flex !important; flex-direction: column; gap: 32px; }
body.cpgs .cpgs-stack.cpgs-stack--40 { gap: 40px; }
body.cpgs .cpgs-pair { display: grid !important; gap: 24px; align-items: start; }
@media (min-width: 640px) { body.cpgs .cpgs-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.cpgs .cpgs-paras .cpgs-lead + .cpgs-lead { margin-top: 24px; }
body.cpgs .cpgs-small-muted p { font-size: 14px; line-height: 1.625; color: var(--cpgs-muted); }

/* ---------- Typography helpers ---------- */
body.cpgs .cpgs-eyebrow {
  display: flex; align-items: center; gap: 8px;
  font-size: var(--cpgs-eyebrow); font-weight: 600; text-transform: uppercase; letter-spacing: var(--cpgs-eyebrow-tracking);
  line-height: 1.4; color: var(--cpgs-muted);
}
body.cpgs .cpgs-tone-dark .cpgs-eyebrow { color: rgb(255 255 255 / 0.7); }
body.cpgs .cpgs-eyebrow--signal, body.cpgs .cpgs-tone-dark .cpgs-eyebrow--signal { color: var(--cpgs-signal); }
body.cpgs .cpgs-eyebrow--dot::before, body.cpgs .cpgs-dot::before {
  content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); flex: none; display: inline-block;
}
body.cpgs .cpgs-signal { color: var(--cpgs-signal); }
body.cpgs .cpgs-lead { font-size: var(--cpgs-body-l); line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-tone-dark .cpgs-lead { color: rgb(255 255 255 / 0.7); }

/* Section intro (eyebrow + h2 + lead) */
body.cpgs .cpgs-intro { max-width: 48rem; }
body.cpgs .cpgs-intro h1, body.cpgs .cpgs-intro h2 { margin-top: 20px; font-size: var(--cpgs-h2); line-height: 1.02; }
body.cpgs .cpgs-intro h1 { font-size: var(--cpgs-h1); }
body.cpgs .cpgs-intro .cpgs-lead { margin-top: 20px; }
body.cpgs .cpgs-intro .et_pb_text_inner > :first-child, body.cpgs .cpgs-intro .et_pb_text_inner > p:empty:first-child + * { margin-top: 0; }
body.cpgs .cpgs-intro .cpgs-more { margin-top: 32px; }
body.cpgs .cpgs-intro--narrow h2 { max-width: 36rem; }
body.cpgs .cpgs-tone-dark .cpgs-intro h2 { color: #fff; }
body.cpgs .cpgs-intro--dark-wide h2 { max-width: 42rem; margin-top: 24px; }
body.cpgs .cpgs-intro--loose h2 { line-height: 1.5; }
body.cpgs .cpgs-intro--dark-wide .cpgs-lead { max-width: 32rem; margin-top: 24px; }

/* Page hero text */
body.cpgs .cpgs-herotext h1 { margin-top: 24px; max-width: 48rem; font-size: var(--cpgs-h1); line-height: 0.98; }
body.cpgs .cpgs-herotext .cpgs-lead { margin-top: 24px; max-width: 42rem; }
body.cpgs .cpgs-herotext--home h1 { margin-top: 28px; max-width: 56rem; font-size: var(--cpgs-display-xl); line-height: 0.94; }
body.cpgs .cpgs-herotext--home .cpgs-lead { margin-top: 32px; max-width: 36rem; }
body.cpgs .cpgs-callout { margin-top: 32px; max-width: 42rem; border-left: 2px solid var(--cpgs-signal); padding-left: 20px; font-size: 0.875rem; font-weight: 600; line-height: 1.625; }
body.cpgs .cpgs-callout--lg { font-size: 1.125rem; margin-top: 56px; }
body.cpgs .cpgs-strong-line { margin-top: 32px; font-size: 1.125rem; font-weight: 600; line-height: 1.625; }

/* Breadcrumbs */
body.cpgs .cpgs-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; font-weight: 500; color: var(--cpgs-muted); list-style: none; padding: 0; margin: 0; line-height: 1.5; }
body.cpgs .cpgs-crumbs li { display: flex; align-items: center; gap: 8px; }
body.cpgs .cpgs-crumbs li + li::before { content: "/"; }
body.cpgs .cpgs-crumbs a { color: inherit; text-decoration: none; }
body.cpgs .cpgs-crumbs a:hover { color: var(--cpgs-signal); text-decoration: underline; }
body.cpgs .cpgs-crumbs [aria-current] { color: var(--cpgs-fg); }

/* Text link with arrow */
body.cpgs .cpgs-textlink, body.cpgs .cpgs-s a.cpgs-textlink {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.875rem; font-weight: 600; color: var(--cpgs-fg); text-underline-offset: 4px;
}
body.cpgs .cpgs-tone-dark a.cpgs-textlink { color: #fff; }
body.cpgs .cpgs-textlink::after, body.cpgs .cpgs-arrow::after {
  content: ""; width: 16px; height: 16px; flex: none; background: currentColor;
  -webkit-mask: var(--cpgs-i-arrow) center / contain no-repeat; mask: var(--cpgs-i-arrow) center / contain no-repeat;
  transition: transform 0.2s;
}
body.cpgs .cpgs-s a.cpgs-textlink:hover { color: var(--cpgs-signal); text-decoration: underline; }
body.cpgs .cpgs-tone-dark a.cpgs-textlink:hover { color: #fff; }
body.cpgs .cpgs-textlink:hover::after { transform: translateX(2px); }

/* ---------- Buttons (Divi Button module + class) ---------- */
body.cpgs .et_pb_button_module_wrapper { margin: 0; }
body.cpgs #page-container a.et_pb_button.cpgs-btn, body.cpgs .cpgs-btn {
  display: inline-flex !important; flex-direction: row !important; align-items: center !important; justify-content: center !important; gap: 8px;
  height: auto !important; min-height: var(--cpgs-btn-h); vertical-align: middle; padding: 0 24px !important; border-radius: var(--cpgs-radius-pill) !important;
  border: 1px solid transparent !important;
  font-family: var(--cpgs-font) !important; font-size: 14px !important; font-weight: 600 !important;
  line-height: 1 !important; letter-spacing: 0 !important; text-transform: none !important;
  text-decoration: none !important; transition: background-color 0.2s, color 0.2s, border-color 0.2s !important;
  background-color: var(--cpgs-black); color: #fff !important; cursor: pointer;
}
body.cpgs #page-container a.et_pb_button.cpgs-btn:hover, body.cpgs .cpgs-btn:hover { padding: 0 24px !important; }
body.cpgs #page-container a.et_pb_button.cpgs-btn::after, body.cpgs .cpgs-btn::after {
  content: "" !important; position: static !important; opacity: 1 !important; margin: 0 !important;
  inset: auto !important; transform: none !important; translate: none !important; float: none !important;
  align-self: center !important; vertical-align: middle !important; flex: none !important;
  width: 16px !important; height: 16px !important; font-size: 0 !important; line-height: 0 !important; display: inline-block !important;
  background: currentColor;
  -webkit-mask: var(--cpgs-i-arrow) center / contain no-repeat; mask: var(--cpgs-i-arrow) center / contain no-repeat;
}
body.cpgs #page-container a.et_pb_button.cpgs-btn::before { display: none !important; }
body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--noarrow::after, body.cpgs .cpgs-btn.cpgs-btn--noarrow::after { display: none !important; }
body.cpgs .cpgs-btn.cpgs-btn--primary, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--primary { background-color: var(--cpgs-black) !important; color: #fff !important; border-color: transparent !important; }
body.cpgs .cpgs-btn.cpgs-btn--primary:hover, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--primary:hover { background-color: var(--cpgs-signal) !important; }
body.cpgs .cpgs-btn.cpgs-btn--secondary, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--secondary { background-color: transparent !important; color: var(--cpgs-fg) !important; border-color: rgb(17 17 17 / 0.2) !important; }
body.cpgs .cpgs-btn.cpgs-btn--secondary:hover, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--secondary:hover { border-color: var(--cpgs-signal) !important; color: var(--cpgs-signal) !important; }
body.cpgs .cpgs-btn.cpgs-btn--inverse, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--inverse { background-color: #fff !important; color: var(--cpgs-ink) !important; }
body.cpgs .cpgs-btn.cpgs-btn--inverse:hover, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--inverse:hover { background-color: var(--cpgs-signal) !important; color: #fff !important; }
body.cpgs .cpgs-btn.cpgs-btn--signal, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--signal { background-color: var(--cpgs-signal) !important; color: #fff !important; }
body.cpgs .cpgs-btn.cpgs-btn--signal:hover, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--signal:hover { background-color: var(--cpgs-signal-deep) !important; }
body.cpgs .cpgs-btn.cpgs-btn--ring, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--ring { border-color: rgb(255 255 255 / 0.2) !important; }

/* ---------- Direct answer ---------- */
body.cpgs .cpgs-answer { border-left: 2px solid var(--cpgs-signal); padding-left: 24px; }
body.cpgs .cpgs-answer .cpgs-answer__text { margin-top: 12px; font-size: var(--cpgs-body-l); line-height: 1.625; color: var(--cpgs-fg); }

/* ---------- Media placeholder / photos ---------- */
body.cpgs .cpgs-ratio-4-5 { --cpgs-ratio: 4 / 5; }
body.cpgs .cpgs-ratio-4-3 { --cpgs-ratio: 4 / 3; }
body.cpgs .cpgs-ratio-16-9 { --cpgs-ratio: 16 / 9; }
body.cpgs .cpgs-ratio-16-10 { --cpgs-ratio: 16 / 10; }
body.cpgs .cpgs-ratio-3-4 { --cpgs-ratio: 3 / 4; }
body.cpgs .cpgs-ratio-1-1 { --cpgs-ratio: 1 / 1; }
body.cpgs .cpgs-media { width: 100%; }
body.cpgs .cpgs-media__frame {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start;
  width: 100%; aspect-ratio: var(--cpgs-ratio, 4 / 3); overflow: hidden;
  border: 1px solid var(--cpgs-line); border-radius: var(--cpgs-radius);
  background-color: var(--cpgs-soft);
  background-image:
    linear-gradient(to right, oklch(0.8969 0.0068 97.36 / 0.5) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.8969 0.0068 97.36 / 0.5) 1px, transparent 1px);
  background-size: 48px 48px;
  padding: 20px;
}
body.cpgs .cpgs-media__kicker {
  display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 4px 12px;
  font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; line-height: 1.33;
  background: var(--cpgs-ink); color: #fff;
}
body.cpgs .cpgs-media__kicker::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); }
body.cpgs .cpgs-media__label { margin-top: 12px !important; max-width: 28rem; font-size: 14px; font-weight: 500; line-height: 1.43; color: var(--cpgs-fg); }
body.cpgs .cpgs-media__caption { margin-top: 12px !important; font-size: 12px; line-height: 1.33; color: var(--cpgs-muted); }
body.cpgs .cpgs-media--dark .cpgs-media__frame {
  border-color: rgb(255 255 255 / 0.15); background-color: rgb(255 255 255 / 0.04);
  background-image:
    linear-gradient(to right, rgb(255 255 255 / 0.042) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(255 255 255 / 0.042) 1px, transparent 1px);
}
body.cpgs .cpgs-media--dark .cpgs-media__kicker { background: #fff; color: var(--cpgs-ink); }
body.cpgs .cpgs-media--dark .cpgs-media__label { color: rgb(255 255 255 / 0.85); }
body.cpgs .cpgs-media--dark .cpgs-media__caption { color: rgb(255 255 255 / 0.6); }
/* Real photos: an Image module with class cpgs-photo (+ a ratio class) */
body.cpgs .cpgs-photo img, body.cpgs img.cpgs-photo { display: block; width: 100%; aspect-ratio: var(--cpgs-ratio, 4 / 3); object-fit: cover; border-radius: var(--cpgs-radius); }
body.cpgs .cpgs-photo .et_pb_image_wrap { display: block; width: 100%; }
body.cpgs .cpgs-media--narrow { max-width: 28rem; margin-top: 40px !important; }
body.cpgs .cpgs-media--offset { }
@media (min-width: 640px) { body.cpgs .cpgs-media--offset { margin-top: 40px !important; } }

/* Home hero: photo with the verification record overlapping */
body.cpgs .cpgs-hero-media { padding-bottom: 128px; }
@media (min-width: 640px) { body.cpgs .cpgs-hero-media { padding-bottom: 96px; } }
@media (min-width: 1024px) { body.cpgs .cpgs-hero-media { padding-bottom: 112px; } }
body.cpgs .cpgs-hero-media > .cpgs-record { position: absolute !important; right: 0; bottom: -48px; width: 100%; max-width: 24rem; z-index: 2; }
@media (min-width: 640px) { body.cpgs .cpgs-hero-media > .cpgs-record { right: -16px; width: 22rem; } }

/* ---------- CLN record / chips ---------- */
body.cpgs .cpgs-record {
  border: 1px solid var(--cpgs-line); border-radius: var(--cpgs-radius); background: var(--cpgs-surface);
  padding: 24px; box-shadow: 0 28px 70px -40px oklch(0 0 0 / 0.45);
}
body.cpgs .cpgs-record__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--cpgs-line); }
body.cpgs .cpgs-lockup { display: inline-flex; align-items: center; gap: 10px; font-family: var(--cpgs-font-display); font-size: 14px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; line-height: 1.4; }
body.cpgs .cpgs-lockup::before { content: ""; width: 20px; height: 20px; background: var(--cpgs-signal); -webkit-mask: var(--cpgs-i-symbol) center / contain no-repeat; mask: var(--cpgs-i-symbol) center / contain no-repeat; }
body.cpgs .cpgs-chip {
  display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 4px 12px;
  border: 1px solid color-mix(in oklab, currentColor 15%, transparent);
  font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; line-height: 1.33;
  color: var(--cpgs-signal);
}
body.cpgs .cpgs-chip::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); flex: none; }
body.cpgs .cpgs-chip--active { color: var(--cpgs-fg); }
body.cpgs .cpgs-chip--active::before { animation: cpgs-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
body.cpgs .cpgs-chip--pending { color: var(--cpgs-muted); }
body.cpgs .cpgs-chip--pending::before { background: currentColor; opacity: 0.4; }
@keyframes cpgs-pulse { 50% { opacity: 0.5; } }
body.cpgs .cpgs-record__site { margin-top: 20px !important; font-size: 14px; font-weight: 600; line-height: 1.43; }
body.cpgs .cpgs-record dl { margin: 16px 0 0; padding: 0; }
body.cpgs .cpgs-record dl > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 10px 0; border-top: 1px solid var(--cpgs-line); }
body.cpgs .cpgs-record dl > div:first-child { border-top: 0; }
body.cpgs .cpgs-record dt { min-width: 0; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; color: var(--cpgs-muted); line-height: 1.33; }
body.cpgs .cpgs-record dd { margin: 0; text-align: right; font-size: 14px; font-weight: 500; line-height: 1.43; }
body.cpgs .cpgs-record__note { margin-top: 16px !important; font-size: 12px; color: var(--cpgs-muted); line-height: 1.33; }
body.cpgs .cpgs-legend .et_pb_text_inner { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---------- Lists ---------- */
body.cpgs .cpgs-checks ul { display: grid; gap: 16px; }
body.cpgs .cpgs-checks li { display: flex; gap: 12px; font-size: 14px; line-height: 1.625; }
body.cpgs .cpgs-checks li::before, body.cpgs .cpgs-audience li::before {
  content: ""; flex: none; width: 16px; height: 16px; margin-top: 2px; background: var(--cpgs-signal);
  -webkit-mask: var(--cpgs-i-check) center / contain no-repeat; mask: var(--cpgs-i-check) center / contain no-repeat;
}
body.cpgs .cpgs-tone-dark .cpgs-checks li { color: rgb(255 255 255 / 0.85); }

body.cpgs .cpgs-concerns ul { display: grid; gap: 20px 40px; border-top: 1px solid rgb(255 255 255 / 0.2); padding-top: 32px; }
@media (min-width: 640px) { body.cpgs .cpgs-concerns ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.cpgs .cpgs-concerns li { border-bottom: 1px solid rgb(255 255 255 / 0.1); padding-bottom: 16px; font-size: 1.02rem; line-height: 1.625; color: rgb(255 255 255 / 0.85); }

body.cpgs .cpgs-dotlist ul { display: grid; gap: 24px 40px; border-top: 1px solid var(--cpgs-line); padding-top: 40px; }
@media (min-width: 768px) { body.cpgs .cpgs-dotlist ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.cpgs .cpgs-dotlist li { display: flex; gap: 12px; line-height: 1.5; }
body.cpgs .cpgs-dotlist li::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); flex: none; margin-top: 10px; }

/* Numbered feature row (FeatureRow) */
body.cpgs .cpgs-features ol { display: grid; gap: 40px; border-top: 1px solid var(--cpgs-line); padding-top: 40px; counter-reset: cpgs-f; }
@media (min-width: 768px) { body.cpgs .cpgs-features ol { grid-template-columns: repeat(3, minmax(0, 1fr)); } body.cpgs .cpgs-features--2 ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.cpgs .cpgs-features li { counter-increment: cpgs-f; }
body.cpgs .cpgs-features li::before { content: counter(cpgs-f, decimal-leading-zero); display: block; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.16em; color: var(--cpgs-muted); line-height: 1.33; }
body.cpgs .cpgs-features h3 { margin-top: 16px; font-size: 1.25rem; line-height: 1.4; }
body.cpgs .cpgs-features p { margin-top: 12px !important; font-size: 0.95rem; line-height: 1.625; color: var(--cpgs-muted); }

/* Accountability roles */
body.cpgs .cpgs-roles ul { display: grid; gap: 40px; border-top: 1px solid var(--cpgs-line); padding-top: 40px; }
@media (min-width: 768px) { body.cpgs .cpgs-roles ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.cpgs .cpgs-role { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; line-height: 1.43; }
body.cpgs .cpgs-role::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); flex: none; }
body.cpgs .cpgs-roles li p:not(.cpgs-role) { margin-top: 12px !important; font-size: 14px; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-roles .cpgs-more { margin-top: 40px !important; }

/* ---------- Matrix / grids with hairlines ---------- */
body.cpgs .cpgs-matrix ol, body.cpgs .cpgs-path ol, body.cpgs .cpgs-steps ol {
  display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--cpgs-line); border-radius: var(--cpgs-radius); background: var(--cpgs-line);
}
@media (min-width: 768px) { body.cpgs .cpgs-matrix ol { grid-template-columns: repeat(3, minmax(0, 1fr)); } body.cpgs .cpgs-path ol, body.cpgs .cpgs-steps ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body.cpgs .cpgs-path ol, body.cpgs .cpgs-steps ol { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.cpgs .cpgs-matrix li { background: var(--cpgs-surface); padding: 32px; }
@media (min-width: 768px) { body.cpgs .cpgs-matrix li { padding: 40px; } body.cpgs .cpgs-matrix li:first-child { grid-column: span 2; } }
body.cpgs .cpgs-matrix__head { display: flex; align-items: baseline; gap: 16px; }
body.cpgs .cpgs-matrix__num { font-family: var(--cpgs-font-display); font-weight: 600; line-height: 1; color: var(--cpgs-line); font-size: 3rem; }
body.cpgs .cpgs-matrix h3 { font-size: 1.5rem; line-height: 1.33; letter-spacing: -0.02em; }
body.cpgs .cpgs-matrix li > p { margin-top: 20px !important; font-size: 0.95rem; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-matrix li:first-child .cpgs-matrix__num { font-size: 3.75rem; }
@media (min-width: 768px) { body.cpgs .cpgs-matrix li:first-child .cpgs-matrix__num { font-size: 6rem; } }
body.cpgs .cpgs-matrix li:first-child h3 { font-size: var(--cpgs-h2); line-height: 1.5; }
body.cpgs .cpgs-matrix li:first-child > p { max-width: 36rem; font-size: var(--cpgs-body-l); }

/* Operating path (home) */
body.cpgs .cpgs-path li { position: relative; background: var(--cpgs-surface); padding: 32px; }
body.cpgs .cpgs-path li:last-child { background: var(--cpgs-soft); }
body.cpgs .cpgs-path__step { display: flex; align-items: center; gap: 12px; font-family: var(--cpgs-font-display); font-size: 14px; font-weight: 600; letter-spacing: 0.16em; color: var(--cpgs-muted); line-height: 1.43; }
body.cpgs .cpgs-path__step::before { content: ""; width: 24px; height: 1px; background: var(--cpgs-line); }
body.cpgs .cpgs-path__step::after { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); opacity: 0.6; }
body.cpgs .cpgs-path li:last-child .cpgs-path__step::before { background: var(--cpgs-signal); }
body.cpgs .cpgs-path li:last-child .cpgs-path__step::after { width: 16px; height: 16px; border-radius: 0; opacity: 1; -webkit-mask: var(--cpgs-i-symbol) center / contain no-repeat; mask: var(--cpgs-i-symbol) center / contain no-repeat; }
body.cpgs .cpgs-path h3 { margin-top: 20px; font-size: 1.25rem; line-height: 1.4; }
body.cpgs .cpgs-path li:last-child h3 { font-size: var(--cpgs-h3); line-height: 1.5; }
body.cpgs .cpgs-path li p:not(.cpgs-path__step) { margin-top: 12px !important; font-size: 0.95rem; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-path__note { display: flex; align-items: center; gap: 12px; margin-top: 24px !important; font-size: 14px; font-weight: 500; color: var(--cpgs-muted); line-height: 1.43; }
body.cpgs .cpgs-path__note::before { content: ""; width: 40px; height: 1px; background: var(--cpgs-signal); flex: none; }

/* Workflow steps (company / solutions) */
body.cpgs .cpgs-steps li { background: var(--cpgs-surface); padding: 32px; }
body.cpgs .cpgs-steps__num { display: flex; align-items: center; gap: 12px; font-family: var(--cpgs-font-display); font-size: 14px; font-weight: 600; letter-spacing: 0.16em; color: var(--cpgs-muted); line-height: 1.43; }
body.cpgs .cpgs-steps__num::before { content: ""; width: 16px; height: 16px; background: var(--cpgs-signal); -webkit-mask: var(--cpgs-i-symbol) center / contain no-repeat; mask: var(--cpgs-i-symbol) center / contain no-repeat; }
body.cpgs .cpgs-steps h3 { margin-top: 20px; font-size: 1.25rem; line-height: 1.4; }
body.cpgs .cpgs-steps li p:not(.cpgs-steps__num) { margin-top: 12px !important; font-size: 14px; line-height: 1.625; color: var(--cpgs-muted); }

/* CLN flow (home, inside a box) */
body.cpgs .cpgs-flowbox { border: 1px solid var(--cpgs-line); border-radius: var(--cpgs-radius); background: var(--cpgs-surface); padding: 32px; }
@media (min-width: 768px) { body.cpgs .cpgs-flowbox { padding: 40px; } }
body.cpgs .cpgs-flow { position: relative; display: grid; gap: 24px; margin-top: 32px !important; }
@media (min-width: 640px) { body.cpgs .cpgs-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
  body.cpgs .cpgs-flow { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.cpgs .cpgs-flow::before { content: ""; position: absolute; top: 8px; left: 8px; width: calc(100% - 16px); height: 1px; background: var(--cpgs-line); }
}
body.cpgs .cpgs-flow li { position: relative; }
body.cpgs .cpgs-flow li::before { content: ""; display: block; position: relative; width: 16px; height: 16px; border-radius: 999px; border: 2px solid var(--cpgs-line); background: var(--cpgs-bg); }
body.cpgs .cpgs-flow li.is-active::before { border-color: var(--cpgs-fg); }
body.cpgs .cpgs-flow li.is-confirmed::before { border-color: var(--cpgs-signal); background: var(--cpgs-signal); }
body.cpgs .cpgs-flow__label { margin-top: 16px !important; font-size: 14px; font-weight: 600; line-height: 1.43; }
body.cpgs .cpgs-flow li.is-confirmed .cpgs-flow__label { color: var(--cpgs-signal); }
body.cpgs .cpgs-flow li p:not(.cpgs-flow__label) { margin-top: 6px !important; font-size: 0.9rem; line-height: 1.625; color: var(--cpgs-muted); }

/* Process path (CLN page) */
body.cpgs .cpgs-process ol { position: relative; display: grid; gap: 32px; counter-reset: cpgs-p; }
@media (min-width: 640px) { body.cpgs .cpgs-process ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
  body.cpgs .cpgs-process ol { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.cpgs .cpgs-process ol::before { content: ""; position: absolute; top: 20px; left: 20px; width: calc(100% - 40px); height: 1px; background: var(--cpgs-line); }
}
body.cpgs .cpgs-process li { position: relative; counter-increment: cpgs-p; }
body.cpgs .cpgs-process li::before {
  content: counter(cpgs-p); position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 999px; border: 2px solid var(--cpgs-fg); background: var(--cpgs-bg);
  font-size: 14px; font-weight: 600; line-height: 1;
}
body.cpgs .cpgs-process li:last-child::before { content: ""; border-color: var(--cpgs-signal); background: var(--cpgs-signal) var(--cpgs-i-check-white) center / 16px 16px no-repeat; }
body.cpgs .cpgs-process h3, body.cpgs .cpgs-process .cpgs-process__label { margin-top: 20px; font-family: var(--cpgs-font); letter-spacing: 0; font-size: 1.125rem; font-weight: 600; line-height: 1.55; }
body.cpgs .cpgs-process li:last-child h3 { color: var(--cpgs-signal); }
body.cpgs .cpgs-process li p { margin-top: 8px !important; font-size: 0.95rem; line-height: 1.625; color: var(--cpgs-muted); }

/* Audience views (CLN page) */
body.cpgs .cpgs-audience .et_pb_text_inner { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--cpgs-line); border-radius: var(--cpgs-radius); background: var(--cpgs-line); }
@media (min-width: 768px) { body.cpgs .cpgs-audience .et_pb_text_inner { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.cpgs .cpgs-audience__col { background: var(--cpgs-bg); padding: 32px; }
@media (min-width: 768px) { body.cpgs .cpgs-audience__col { padding: 40px; } }
body.cpgs .cpgs-audience__col:last-of-type { background: var(--cpgs-ink); color: #fff; }
body.cpgs .cpgs-audience__label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.18em; color: var(--cpgs-muted); line-height: 1.33; }
body.cpgs .cpgs-audience__col:last-of-type .cpgs-audience__label { color: var(--cpgs-signal); }
body.cpgs .cpgs-audience ul { display: grid; gap: 16px; margin-top: 24px !important; }
body.cpgs .cpgs-audience li { display: flex; gap: 12px; line-height: 1.625; }
body.cpgs .cpgs-audience li::before { margin-top: 4px; }

/* Convergence diagram (ERINND) */
body.cpgs .cpgs-converge .et_pb_text_inner { display: grid; align-items: center; gap: 56px; }
@media (min-width: 768px) { body.cpgs .cpgs-converge .et_pb_text_inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; } }
body.cpgs .cpgs-converge ul { display: grid; gap: 12px; }
body.cpgs .cpgs-converge li { border: 1px dashed var(--cpgs-line); border-radius: var(--cpgs-radius); background: var(--cpgs-bg); padding: 16px 20px; font-size: 14px; font-weight: 600; color: var(--cpgs-muted); line-height: 1.43; }
body.cpgs .cpgs-converge__result { position: relative; border-radius: var(--cpgs-radius); background: var(--cpgs-ink); color: #fff; padding: 32px; }
body.cpgs .cpgs-converge__result::before {
  content: ""; position: absolute; width: 24px; height: 24px; left: 50%; top: -40px; margin-left: -12px; transform: rotate(90deg);
  background: var(--cpgs-signal); -webkit-mask: var(--cpgs-i-arrow) center / contain no-repeat; mask: var(--cpgs-i-arrow) center / contain no-repeat;
}
@media (min-width: 768px) { body.cpgs .cpgs-converge__result::before { left: -48px; top: 50%; margin: -12px 0 0; transform: none; } }
body.cpgs .cpgs-converge__kicker { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.18em; color: var(--cpgs-signal); line-height: 1.33; }
body.cpgs .cpgs-converge__title { margin-top: 16px !important; font-family: var(--cpgs-font-display); font-size: var(--cpgs-h3); font-weight: 600; line-height: 1.25; letter-spacing: -0.02em; }

/* Numbered grid (ERINND) */
body.cpgs .cpgs-numgrid ol { display: grid; gap: 48px 40px; counter-reset: cpgs-n; }
@media (min-width: 640px) { body.cpgs .cpgs-numgrid ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body.cpgs .cpgs-numgrid ol { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.cpgs .cpgs-numgrid li { border-top: 1px solid var(--cpgs-line); padding-top: 24px; counter-increment: cpgs-n; }
body.cpgs .cpgs-numgrid li::before { content: counter(cpgs-n, decimal-leading-zero); font-size: 14px; font-weight: 600; color: var(--cpgs-signal); }
body.cpgs .cpgs-numgrid h3 { margin-top: 12px; font-size: 1.25rem; line-height: 1.4; }
body.cpgs .cpgs-numgrid p { margin-top: 12px !important; line-height: 1.625; color: var(--cpgs-muted); }

/* Produces list (ERINND, dark) */
body.cpgs .cpgs-produces ul { border-top: 1px solid rgb(255 255 255 / 0.15); border-bottom: 1px solid rgb(255 255 255 / 0.15); }
body.cpgs .cpgs-produces li { display: grid; gap: 8px; padding: 24px 0; border-top: 1px solid rgb(255 255 255 / 0.15); }
body.cpgs .cpgs-produces li:first-child { border-top: 0; }
@media (min-width: 768px) { body.cpgs .cpgs-produces li { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 40px; } }
body.cpgs .cpgs-produces h3 { font-size: 1.125rem; line-height: 1.55; color: #fff; }
body.cpgs .cpgs-produces p { line-height: 1.625; color: rgb(255 255 255 / 0.7); }

body.cpgs .cpgs-statement h2 { margin-top: 24px; max-width: 64rem; font-size: var(--cpgs-h1); line-height: 1.02; }
body.cpgs .cpgs-statement .cpgs-lead { margin-top: 32px; }

/* ---------- Proof + metrics (dark) ---------- */
body.cpgs .cpgs-proof ul { display: grid; gap: 16px 40px; border-top: 1px solid rgb(255 255 255 / 0.2); padding-top: 48px; }
@media (min-width: 640px) { body.cpgs .cpgs-proof ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.cpgs .cpgs-proof li { font-family: var(--cpgs-font-display); letter-spacing: -0.02em; font-size: var(--cpgs-h3); font-weight: 600; line-height: 1.25; color: #fff; }
body.cpgs .cpgs-metrics dl { display: grid; gap: 1px; overflow: hidden; border: 1px solid rgb(255 255 255 / 0.15); border-radius: var(--cpgs-radius); background: rgb(255 255 255 / 0.15); margin: 0; }
@media (min-width: 640px) { body.cpgs .cpgs-metrics dl { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body.cpgs .cpgs-metrics dl { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
body.cpgs .cpgs-metrics dl > div { background: var(--cpgs-ink); padding: 32px; }
body.cpgs .cpgs-metrics dt { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.16em; color: rgb(255 255 255 / 0.7); line-height: 1.33; }
body.cpgs .cpgs-metrics dd { margin: 16px 0 0; font-family: var(--cpgs-font-display); font-size: 1.5rem; font-weight: 600; color: #fff; line-height: 1.33; }
body.cpgs .cpgs-metric-pending { display: block; border: 1px dashed rgb(255 255 255 / 0.35); border-radius: var(--cpgs-radius); padding: 12px; font-family: var(--cpgs-font-display); font-size: 1.125rem; font-weight: 600; color: rgb(255 255 255 / 0.8); line-height: 1.55; }
body.cpgs .cpgs-metric-pending small { display: block; margin-top: 4px; font-family: var(--cpgs-font); font-size: 0.7rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: rgb(255 255 255 / 0.5); line-height: 1.4; }
body.cpgs .cpgs-metrics__note { margin-top: 20px !important; font-size: 14px; color: rgb(255 255 255 / 0.7); line-height: 1.43; }

/* ---------- Cards (whole card clickable via stretched link) ---------- */
body.cpgs .cpgs-card {
  position: relative; height: 100%;
  border: 1px solid var(--cpgs-line); border-radius: var(--cpgs-radius); background: var(--cpgs-surface);
  padding: var(--cpgs-card-pad); transition: border-color 0.2s;
}
body.cpgs .cpgs-card .et_pb_text_inner { display: flex; flex-direction: column; height: 100%; }
body.cpgs .cpgs-card:hover { border-color: var(--cpgs-signal); }
body.cpgs .cpgs-card h3 { font-size: var(--cpgs-h3); line-height: 1.25; margin-top: 20px; }
body.cpgs .cpgs-card .et_pb_text_inner > h3:first-child, body.cpgs .cpgs-card .et_pb_text_inner > p:empty:first-child + h3 { margin-top: 0; }
body.cpgs .cpgs-card h3 a { color: inherit; text-decoration: none; }
body.cpgs .cpgs-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 1; }
body.cpgs .cpgs-card h3 a:focus-visible { outline: none; }
body.cpgs .cpgs-card:focus-within { outline: 2px solid var(--cpgs-signal); outline-offset: 2px; }
body.cpgs .cpgs-card__eyebrow { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.16em; color: var(--cpgs-muted); line-height: 1.33; }
body.cpgs .cpgs-card__body, body.cpgs .cpgs-card .et_pb_text_inner > p:not([class]) { margin-top: 16px !important; font-size: 0.95rem; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-card__more { margin-top: auto !important; padding-top: 32px; font-size: 14px; font-weight: 600; line-height: 1.43; display: inline-flex; align-items: center; gap: 8px; }
body.cpgs .cpgs-card:hover .cpgs-card__more { color: var(--cpgs-signal); }
body.cpgs .cpgs-g-cards2 > * > .cpgs-card, body.cpgs .cpgs-g-cards3 > * > .cpgs-card, body.cpgs .cpgs-g-team > * > .et_pb_module { height: 100%; }

/* Service panel variant (home) */
body.cpgs .cpgs-card--panel { padding: 24px; }
body.cpgs .cpgs-card--panel h3 { margin-top: 28px; }
body.cpgs .cpgs-card--panel .cpgs-card__body { flex: 1; }
body.cpgs .cpgs-card--panel .cpgs-card__more { padding-top: 28px; margin-top: 0 !important; }

/* Tech card */
body.cpgs .cpgs-techcard { padding: 32px; }
@media (min-width: 768px) { body.cpgs .cpgs-techcard { padding: 40px; } }
body.cpgs .cpgs-techcard h3 { margin-top: 32px; }
body.cpgs .cpgs-techcard .cpgs-card__body { font-size: 1rem; }
body.cpgs .cpgs-techcard .cpgs-card__more { padding-top: 40px; }
body.cpgs .cpgs-system {
  position: relative; display: flex; align-items: center; min-height: 44px; padding-left: 56px;
  font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.18em; line-height: 1.43;
}
body.cpgs .cpgs-system::before { content: ""; position: absolute; left: 0; top: 0; width: 44px; height: 44px; border: 1px solid var(--cpgs-line); border-radius: var(--cpgs-radius); background: var(--cpgs-bg); transition: background-color 0.2s, border-color 0.2s; }
body.cpgs .cpgs-system::after { content: ""; position: absolute; left: 12px; top: 12px; width: 20px; height: 20px; background: var(--cpgs-signal); -webkit-mask: var(--cpgs-i-symbol) center / contain no-repeat; mask: var(--cpgs-i-symbol) center / contain no-repeat; transition: background-color 0.2s; }
body.cpgs .cpgs-system--erinnd::after { -webkit-mask-image: var(--cpgs-i-workflow); mask-image: var(--cpgs-i-workflow); }
body.cpgs .cpgs-card:hover .cpgs-system::before { background: var(--cpgs-signal); border-color: var(--cpgs-signal); }
body.cpgs .cpgs-card:hover .cpgs-system::after { background: #fff; }

/* Case outcome card */
body.cpgs .cpgs-case dl { flex: 1; margin: 24px 0 0; padding: 24px 0 0; border-top: 1px solid var(--cpgs-line); display: grid; gap: 16px; align-content: start; }
body.cpgs .cpgs-case dt { font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.16em; color: var(--cpgs-signal); line-height: 1.4; }
body.cpgs .cpgs-case dd { margin: 6px 0 0; font-size: 0.95rem; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-case h3 { margin-top: 16px; }
body.cpgs .cpgs-case .cpgs-card__more { padding-top: 28px; margin-top: 0 !important; }

/* Leader card */
body.cpgs .cpgs-leader { border: 1px solid var(--cpgs-line); border-radius: var(--cpgs-radius); background: var(--cpgs-bg); padding: 24px; }
body.cpgs .cpgs-leader h3 { margin-top: 24px; font-size: 1.125rem; line-height: 1.55; }
body.cpgs .cpgs-leader__role { margin-top: 4px !important; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; color: var(--cpgs-signal); line-height: 1.33; }
body.cpgs .cpgs-leader__focus { margin-top: 16px !important; font-size: 14px; line-height: 1.625; color: var(--cpgs-muted); }

/* Boxes (client access, contact aside) */
body.cpgs .cpgs-box { border: 1px solid var(--cpgs-line); border-radius: var(--cpgs-radius); background: var(--cpgs-bg); padding: 32px; }
body.cpgs .cpgs-box__title { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; line-height: 1.43; }
body.cpgs .cpgs-box__title::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); flex: none; }
body.cpgs .cpgs-box p:not([class]) { margin-top: 12px !important; font-size: 14px; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-box .cpgs-more { margin-top: 20px !important; }
body.cpgs .cpgs-g-contact > * > .cpgs-aside { height: 100%; }
body.cpgs .cpgs-aside h2 { font-family: var(--cpgs-font-display); font-size: 1.125rem; line-height: 1.55; }
body.cpgs .cpgs-aside dl { margin: 24px 0 0; display: grid; gap: 16px; font-size: 14px; }
body.cpgs .cpgs-aside dt { color: var(--cpgs-muted); line-height: 1.43; }
body.cpgs .cpgs-aside dd { margin: 4px 0 0; font-weight: 600; line-height: 1.43; }
body.cpgs .cpgs-aside h3 { margin-top: 40px; font-family: var(--cpgs-font-display); font-size: 14px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--cpgs-muted); line-height: 1.43; }
body.cpgs .cpgs-aside ol { margin-top: 20px !important; display: grid; gap: 16px; font-size: 14px; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-aside ol li { display: flex; gap: 12px; }
body.cpgs .cpgs-aside ol li::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); flex: none; margin-top: 8px; }

/* Insights list */
body.cpgs .cpgs-insights ul { border-top: 1px solid var(--cpgs-line); border-bottom: 1px solid var(--cpgs-line); }
body.cpgs .cpgs-insights li { display: grid; gap: 16px; padding: 32px 0; border-top: 1px solid var(--cpgs-line); }
body.cpgs .cpgs-insights li:first-child { border-top: 0; }
@media (min-width: 768px) { body.cpgs .cpgs-insights li { grid-template-columns: 10rem minmax(0, 1fr); } }
body.cpgs .cpgs-insights__meta { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; color: var(--cpgs-muted); line-height: 1.33; }
body.cpgs .cpgs-insights__meta span { display: block; margin-top: 4px; }
body.cpgs .cpgs-insights__meta span:first-child { display: flex; align-items: center; gap: 8px; margin-top: 0; }
body.cpgs .cpgs-insights__meta span:first-child::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); flex: none; }
body.cpgs .cpgs-insights__meta span:nth-child(2) { margin-top: 8px; }
body.cpgs .cpgs-insights h3 { font-size: var(--cpgs-h3); line-height: 1.25; }
body.cpgs .cpgs-insights__summary { margin-top: 12px !important; max-width: 42rem; font-size: 14px; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-insights__status { margin-top: 16px !important; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; color: var(--cpgs-signal); line-height: 1.33; }

/* Comparison table (Why CPGS) */
body.cpgs .cpgs-compare { overflow-x: auto; }
body.cpgs .cpgs-compare table { width: 100%; min-width: 46rem; border-collapse: collapse; border: 0; margin: 0; text-align: left; font-size: 14px; line-height: 1.43; }
body.cpgs .cpgs-compare th, body.cpgs .cpgs-compare td { border: 0; border-bottom: 1px solid var(--cpgs-line); padding: 20px 24px 20px 0; vertical-align: top; text-align: left; }
body.cpgs .cpgs-compare thead th { padding-top: 16px; padding-bottom: 16px; font-weight: 600; }
body.cpgs .cpgs-compare thead th:nth-child(2) { color: var(--cpgs-muted); }
body.cpgs .cpgs-compare tbody th { font-weight: 600; }
body.cpgs .cpgs-compare tbody td { line-height: 1.625; }
body.cpgs .cpgs-compare tbody td:nth-child(2) { color: var(--cpgs-muted); }
body.cpgs .cpgs-compare tbody td:last-child { padding-right: 0; }
body.cpgs .cpgs-compare tbody td:last-child span { display: flex; gap: 8px; }
body.cpgs .cpgs-compare tbody td:last-child span::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); flex: none; margin-top: 8px; }

/* Numbered industry row (home) */
body.cpgs .cpgs-num-label { font-family: var(--cpgs-font-display); font-size: 14px; font-weight: 600; letter-spacing: 0.16em; color: var(--cpgs-muted); line-height: 1.43; }
body.cpgs .cpgs-industry h3 { margin-top: 16px; font-size: var(--cpgs-h3); line-height: 1.25; }
body.cpgs .cpgs-industry .cpgs-lead { margin-top: 16px; max-width: 36rem; }
body.cpgs .cpgs-industry .cpgs-more { margin-top: 24px !important; }

/* Related tech band */
body.cpgs .cpgs-related { max-width: 42rem; }
body.cpgs .cpgs-related h2 { margin-top: 16px; font-size: var(--cpgs-h3); line-height: 1.25; }
body.cpgs .cpgs-related p:not(.cpgs-eyebrow) { margin-top: 12px !important; line-height: 1.625; color: var(--cpgs-muted); }

/* CLN problem band */
body.cpgs .cpgs-bigline h2 { font-size: var(--cpgs-h2); line-height: 1.02; color: #fff; }
body.cpgs .cpgs-twopara .cpgs-lead + p { margin-top: 24px !important; font-size: var(--cpgs-body-l); font-weight: 600; color: #fff; line-height: 1.5; }

/* CTA band */
body.cpgs .cpgs-has-divider::before {
  content: ""; grid-column: 1 / -1; height: 16px; margin-bottom: 0; opacity: 0.3;
  background:
    var(--cpgs-i-symbol-pink) center / 16px 16px no-repeat,
    linear-gradient(rgb(255 255 255 / 0.2), rgb(255 255 255 / 0.2)) left center / calc(50% - 24px) 1px no-repeat,
    linear-gradient(rgb(255 255 255 / 0.2), rgb(255 255 255 / 0.2)) right center / calc(50% - 24px) 1px no-repeat;
}
body.cpgs .et_pb_row.cpgs-g-cta.cpgs-has-divider { row-gap: 48px; }
body.cpgs .cpgs-cta h2 { margin-top: 24px; max-width: 42rem; font-size: var(--cpgs-h2); line-height: 1.02; color: #fff; }
body.cpgs .cpgs-cta .cpgs-eyebrow { color: rgb(255 255 255 / 0.6); }
body.cpgs .cpgs-cta p:not(.cpgs-eyebrow) { margin-top: 24px !important; max-width: 36rem; line-height: 1.625; color: rgb(255 255 255 / 0.7); }

/* ---------- FAQ (Divi Toggle module + cpgs-faq) ---------- */
body.cpgs .et_pb_toggle.cpgs-faq { border: 0; border-bottom: 1px solid var(--cpgs-line); border-radius: 0; background: transparent !important; padding: 0; margin: 0 !important; box-shadow: none; }
body.cpgs .et_pb_toggle.cpgs-faq .et_pb_toggle_title {
  position: relative; display: block; cursor: pointer; padding: 16px 32px 16px 0 !important; margin: 0;
  font-family: var(--cpgs-font) !important; font-size: 1.05rem !important; font-weight: 600 !important; letter-spacing: 0;
  line-height: 1.5 !important; color: var(--cpgs-fg) !important; text-wrap: pretty;
}
body.cpgs .et_pb_toggle.cpgs-faq .et_pb_toggle_title:hover { text-decoration: underline; }
body.cpgs .et_pb_toggle.cpgs-faq .et_pb_toggle_title::before {
  content: "" !important; font-size: 0 !important; position: absolute; right: 0; left: auto; top: 50%; margin-top: -8px;
  width: 16px; height: 16px; background: var(--cpgs-muted); color: transparent !important;
  -webkit-mask: var(--cpgs-i-chevron) center / contain no-repeat; mask: var(--cpgs-i-chevron) center / contain no-repeat;
  transition: transform 0.2s;
}
body.cpgs .et_pb_toggle.cpgs-faq.et_pb_toggle_open .et_pb_toggle_title::before { transform: rotate(180deg); }
body.cpgs .et_pb_toggle.cpgs-faq .et_pb_toggle_content { padding: 0 0 16px !important; font-size: 0.98rem; line-height: 1.625; color: var(--cpgs-muted); border: 0; }
body.cpgs .et_pb_toggle.cpgs-faq .et_pb_toggle_content p { padding: 0; color: inherit; }

/* ---------- Contact form (Divi Contact Form module + cpgs-form) ---------- */
body.cpgs .cpgs-form { margin-top: 40px !important; }
body.cpgs .cpgs-form .et_pb_contact_form { margin: 0 !important; display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
@media (min-width: 640px) { body.cpgs .cpgs-form .et_pb_contact_form { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.cpgs .cpgs-form .et_pb_contact_field { float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; grid-column: 1 / -1; }
@media (min-width: 640px) { body.cpgs .cpgs-form .et_pb_contact_field_half { grid-column: auto; } }
body.cpgs .cpgs-form .et_pb_contact_form_label, body.cpgs .cpgs-form label { display: block !important; position: static; margin: 0 0 8px; font-size: 14px; font-weight: 600; color: var(--cpgs-fg); line-height: 1.43; letter-spacing: 0; }
body.cpgs .cpgs-form .et_pb_contact p input, body.cpgs .cpgs-form .et_pb_contact p textarea, body.cpgs .cpgs-form input.input, body.cpgs .cpgs-form textarea.input {
  width: 100%; border: 1px solid var(--cpgs-line) !important; border-radius: var(--cpgs-radius) !important;
  background-color: var(--cpgs-bg) !important; color: var(--cpgs-fg) !important;
  padding: 12px 16px !important; font-family: var(--cpgs-font) !important; font-size: 14px !important; line-height: 1.43 !important; outline: none;
}
body.cpgs .cpgs-form textarea.input { min-height: 140px; }
body.cpgs .cpgs-form .input::placeholder { color: var(--cpgs-muted) !important; opacity: 1; }
body.cpgs .cpgs-form .input:focus, body.cpgs .cpgs-form .input:focus-visible { border-color: var(--cpgs-signal) !important; box-shadow: 0 0 0 3px oklch(0.5898 0.2383 1.66 / 0.3); }
body.cpgs .cpgs-form .et_contact_error { border-color: var(--cpgs-danger) !important; }
body.cpgs .cpgs-form .et_contact_bottom_container { float: none !important; grid-column: 1 / -1; justify-content: flex-start !important; margin: 0 !important; text-align: left; }
body.cpgs .cpgs-form .et_pb_contact_submit, body.cpgs .cpgs-form button.et_pb_button {
  margin: 0 !important; display: inline-flex !important; align-items: center; min-height: 44px; padding: 0 24px !important;
  border-radius: 999px !important; border: 0 !important; background: var(--cpgs-black) !important; color: #fff !important;
  font-family: var(--cpgs-font) !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1 !important; cursor: pointer;
  transition: background-color 0.2s !important;
}
body.cpgs .cpgs-form .et_pb_contact_submit:hover { background: var(--cpgs-signal) !important; padding: 0 24px !important; }
body.cpgs .cpgs-form .et_pb_contact_submit::after { display: none !important; }
body.cpgs .cpgs-form .et-pb-contact-message { font-size: 14px; line-height: 1.625; color: var(--cpgs-fg); }
body.cpgs .cpgs-form .et-pb-contact-message:not(:empty) { margin-bottom: 24px; border: 1px solid var(--cpgs-signal); border-radius: var(--cpgs-radius); background: var(--cpgs-bg); padding: 24px 32px; }
body.cpgs .cpgs-form .et-pb-contact-message ul { margin: 8px 0 0; padding-left: 1em; list-style: disc; }
body.cpgs .et_pb_contact_form_container.cpgs-form .et_pb_contact_main_title { display: none; }

/* ==========================================================================
   Menu roots: resets so Divi's list/link styles (e.g. .et-l--header ul) never leak in
   ========================================================================== */
body.cpgs .cpgs-menu-root :where(ul, ol, li) { list-style: none; margin: 0; padding: 0; line-height: inherit; }
body.cpgs .cpgs-menu-root :where(ul, ol, li)::before { content: none; }
body.cpgs .cpgs-menu-root :where(a) { text-decoration: none; border: 0; box-shadow: none; }
body.cpgs .cpgs-menu-root :where(svg) { display: inline-block; vertical-align: middle; }
body.cpgs .cpgs-menu-root :where(button) { font: inherit; letter-spacing: 0; text-transform: none; }

/* ==========================================================================
   Header
   ========================================================================== */
body.cpgs .cpgs-skip { position: absolute; left: -9999px; top: 16px; z-index: 100; }
body.cpgs .cpgs-skip:focus { left: 16px; display: inline-flex; min-height: 44px; align-items: center; border-radius: 999px; background: var(--cpgs-ink); color: #fff; padding: 0 20px; font-size: 14px; font-weight: 600; }
body.cpgs .cpgs-header {
  position: sticky; top: 0; z-index: 99;
  border-bottom: 1px solid var(--cpgs-line);
  background: oklch(0.9845 0.0026 106.45 / 0.95);
  font-family: var(--cpgs-font);
  line-height: 1.5;
}
@supports (backdrop-filter: blur(1px)) { body.cpgs .cpgs-header { background: oklch(0.9845 0.0026 106.45 / 0.8); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } }
body.cpgs .admin-bar .cpgs-header { top: 32px; }
@media (max-width: 782px) { body.cpgs .admin-bar .cpgs-header { top: 0; } }
body.cpgs .cpgs-container { width: 100%; max-width: var(--cpgs-container); margin: 0 auto; padding: 0 var(--cpgs-gutter); }
@media (min-width: 1024px) { body.cpgs .cpgs-container { padding: 0 var(--cpgs-gutter-lg); } }
body.cpgs .cpgs-header__bar { display: flex; height: var(--cpgs-header-h); align-items: center; justify-content: space-between; gap: 24px; }
body.cpgs .cpgs-header__logo { display: flex; align-items: center; color: var(--cpgs-fg); }
body.cpgs .cpgs-header__logo svg { height: 32px; width: auto; display: block; }
@media (min-width: 768px) { body.cpgs .cpgs-header__logo svg { height: 40px; } }
body.cpgs .cpgs-header__logo img { max-height: 40px; width: auto; }
body.cpgs .cpgs-nav { display: none; }
@media (min-width: 1024px) { body.cpgs .cpgs-nav { display: block; } }
body.cpgs .cpgs-nav > ul { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
body.cpgs .cpgs-nav__item { position: relative; list-style: none; }
body.cpgs .cpgs-nav__link {
  display: flex; align-items: center; gap: 6px; border-radius: 999px; padding: 8px 16px;
  font-size: 14px; font-weight: 600; line-height: 1.43; color: var(--cpgs-muted); text-decoration: none; transition: color 0.15s;
}
body.cpgs .cpgs-nav__link:hover, body.cpgs .cpgs-nav__item.is-open > .cpgs-nav__link { color: var(--cpgs-signal); }
body.cpgs .cpgs-nav__item.is-current > .cpgs-nav__link { color: var(--cpgs-fg); }
body.cpgs .cpgs-nav__item.is-current > .cpgs-nav__link:hover { color: var(--cpgs-signal); }
body.cpgs .cpgs-nav__item.is-current > .cpgs-nav__link::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: var(--cpgs-signal); }
body.cpgs .cpgs-nav__chev { width: 14px; height: 14px; transition: transform 0.2s; }
body.cpgs .cpgs-nav__item.is-open .cpgs-nav__chev { transform: rotate(180deg); }
body.cpgs .cpgs-mega {
  position: absolute; left: 0; top: 100%; z-index: 50; width: 34rem; padding-top: 12px;
  opacity: 0; transform: translateY(4px); pointer-events: none; transition: opacity 0.2s, transform 0.2s; visibility: hidden;
}
body.cpgs .cpgs-nav__item:last-child > .cpgs-mega, body.cpgs .cpgs-nav__item:nth-last-child(2) > .cpgs-mega { left: auto; right: 0; }
body.cpgs .cpgs-nav__item.is-open > .cpgs-mega { opacity: 1; transform: none; pointer-events: auto; visibility: visible; }
body.cpgs .cpgs-mega__panel { overflow: hidden; border: 1px solid var(--cpgs-line); border-radius: var(--cpgs-radius-lg); background: var(--cpgs-surface); box-shadow: 0 24px 60px -32px oklch(0 0 0 / 0.35); }
body.cpgs .cpgs-mega__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 12px; margin: 0; list-style: none; }
body.cpgs .cpgs-mega__list li { list-style: none; }
body.cpgs .cpgs-mega__link { display: flex; min-height: 44px; gap: 12px; border-radius: var(--cpgs-radius); padding: 12px; text-decoration: none; transition: background-color 0.15s; }
body.cpgs .cpgs-mega__link:hover { background: var(--cpgs-soft); }
body.cpgs .cpgs-tile {
  display: inline-flex; width: 40px; height: 40px; flex: none; align-items: center; justify-content: center;
  border: 1px solid var(--cpgs-line); border-radius: var(--cpgs-radius); background: var(--cpgs-bg); color: var(--cpgs-signal);
  transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}
body.cpgs .cpgs-tile svg { width: 18px; height: 18px; }
body.cpgs .cpgs-tile svg.cpgs-symbol { width: 16px; height: 16px; }
body.cpgs .cpgs-mega__link:hover .cpgs-tile, body.cpgs .cpgs-mnav__link:hover .cpgs-tile { border-color: var(--cpgs-signal); background: var(--cpgs-signal); color: #fff; }
body.cpgs .cpgs-mega__text { display: block; }
body.cpgs .cpgs-mega__title { display: block; font-size: 14px; font-weight: 600; color: var(--cpgs-fg); line-height: 1.43; }
body.cpgs .cpgs-mega__desc { display: block; margin-top: 4px; font-size: 12px; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-mega__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--cpgs-line); background: var(--cpgs-bg); padding: 16px 24px; }
body.cpgs .cpgs-mega__note { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cpgs-muted); line-height: 1.33; }
body.cpgs .cpgs-mega__note::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); }
body.cpgs .cpgs-mega__feature { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--cpgs-fg); text-decoration: none; line-height: 1.43; }
body.cpgs .cpgs-mega__feature:hover { color: var(--cpgs-signal); }
body.cpgs .cpgs-mega__feature svg { width: 16px; height: 16px; }
body.cpgs .cpgs-header__actions { display: none; align-items: center; gap: 12px; }
@media (min-width: 1024px) { body.cpgs .cpgs-header__actions { display: flex; } }
body.cpgs .cpgs-header__utility { font-size: 14px; font-weight: 600; color: var(--cpgs-muted); text-decoration: none; line-height: 1.43; }
body.cpgs .cpgs-header__utility:hover { color: var(--cpgs-signal); }
body.cpgs .cpgs-header__cta { display: inline-flex; min-height: 44px; align-items: center; border-radius: 999px; background: var(--cpgs-black); padding: 0 20px; font-size: 14px; font-weight: 600; color: #fff; text-decoration: none; transition: background-color 0.2s; line-height: 1; }
body.cpgs .cpgs-header__cta:hover { background: var(--cpgs-signal); color: #fff; }
body.cpgs .cpgs-burger { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid var(--cpgs-line); background: transparent; color: var(--cpgs-fg); cursor: pointer; padding: 0; }
body.cpgs .cpgs-burger svg { width: 20px; height: 20px; }
body.cpgs .cpgs-burger .cpgs-i-close { display: none; }
body.cpgs .cpgs-burger[aria-expanded="true"] .cpgs-i-open { display: none; }
body.cpgs .cpgs-burger[aria-expanded="true"] .cpgs-i-close { display: block; }
@media (min-width: 1024px) { body.cpgs .cpgs-burger { display: none; } }
body.cpgs .cpgs-mnav { max-height: calc(100dvh - 96px); overflow-y: auto; overscroll-behavior: contain; border-top: 1px solid var(--cpgs-line); background: var(--cpgs-bg); }
body.cpgs .cpgs-mnav[hidden] { display: none; }
@media (min-width: 1024px) { body.cpgs .cpgs-mnav { display: none !important; } }
body.cpgs .cpgs-mnav__inner { padding-top: 24px; padding-bottom: 24px; }
body.cpgs .cpgs-mnav ul { list-style: none; margin: 0; padding: 0; }
body.cpgs .cpgs-mnav__top > li { padding: 16px 0; border-top: 1px solid var(--cpgs-line); }
body.cpgs .cpgs-mnav__top > li:first-child { border-top: 0; }
body.cpgs .cpgs-mnav__toplink { display: flex; min-height: 44px; align-items: center; gap: 8px; font-size: 18px; font-weight: 600; color: var(--cpgs-fg); text-decoration: none; line-height: 1.55; }
body.cpgs .cpgs-mnav__sub { margin-top: 8px !important; display: grid; gap: 4px; }
body.cpgs .cpgs-mnav__link { display: flex; min-height: 44px; align-items: center; gap: 12px; border-radius: var(--cpgs-radius); padding: 8px 0; text-decoration: none; color: var(--cpgs-fg); }
body.cpgs .cpgs-mnav__link .cpgs-tile { width: 36px; height: 36px; }
body.cpgs .cpgs-mnav__title { display: block; font-size: 14px; font-weight: 600; line-height: 1.43; }
body.cpgs .cpgs-mnav__desc { display: block; font-size: 12px; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-mnav__actions { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; }
body.cpgs .cpgs-mnav__actions a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; border-radius: 999px; padding: 0 20px; font-size: 14px; font-weight: 600; text-decoration: none; }
body.cpgs .cpgs-mnav__actions .is-primary { background: var(--cpgs-black); color: #fff; }
body.cpgs .cpgs-mnav__actions .is-secondary { border: 1px solid var(--cpgs-line); color: var(--cpgs-fg); }
/* hide Divi's own header pieces if a parent template still prints them */
body.cpgs #main-header, body.cpgs #top-header, body.cpgs #et-top-navigation, body.cpgs .et_slide_in_menu_container { display: none !important; }
body.cpgs.et_fixed_nav #page-container, body.cpgs #page-container { padding-top: 0 !important; margin-top: 0 !important; }

/* ==========================================================================
   Footer
   ========================================================================== */
body.cpgs #main-footer { display: none !important; }
body.cpgs .cpgs-footer { background: var(--cpgs-ink); color: #fff; font-family: var(--cpgs-font); line-height: 1.5; }
body.cpgs .cpgs-footer__inner { padding-top: 64px; padding-bottom: 64px; }
@media (min-width: 768px) { body.cpgs .cpgs-footer__inner { padding-top: 80px; padding-bottom: 80px; } }
body.cpgs .cpgs-footer__grid { display: grid; gap: 48px; }
@media (min-width: 1024px) { body.cpgs .cpgs-footer__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr); } }
body.cpgs .cpgs-footer__logo { color: #fff; display: inline-block; }
body.cpgs .cpgs-footer__logo svg { height: 28px; width: auto; display: block; }
@media (min-width: 768px) { body.cpgs .cpgs-footer__logo svg { height: 32px; } }
body.cpgs .cpgs-footer__blurb { margin-top: 24px !important; max-width: 24rem; font-size: 0.95rem; line-height: 1.625; color: rgb(255 255 255 / 0.8); }
body.cpgs .cpgs-footer__north { margin-top: 24px !important; display: flex; align-items: flex-start; gap: 10px; font-size: 0.95rem; line-height: 1.625; color: rgb(255 255 255 / 0.85); }
body.cpgs .cpgs-footer__north::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); flex: none; margin-top: 8px; }
body.cpgs .cpgs-footer__cols { display: grid; gap: 40px; }
@media (min-width: 640px) { body.cpgs .cpgs-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body.cpgs .cpgs-footer__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
body.cpgs .cpgs-footer h2 { font-family: var(--cpgs-font); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.16em; color: rgb(255 255 255 / 0.7); line-height: 1.33; }
body.cpgs .cpgs-footer ul { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 12px; }
body.cpgs .cpgs-footer li { list-style: none; }
body.cpgs .cpgs-footer__cols a { display: inline-flex; min-height: 32px; align-items: center; font-size: 0.95rem; color: rgb(255 255 255 / 0.85); text-decoration: none; text-underline-offset: 4px; line-height: 1.5; }
body.cpgs .cpgs-footer__cols a:hover { color: #fff; text-decoration: underline; }
body.cpgs .cpgs-footer__contact { margin-top: 56px; border-top: 1px solid rgb(255 255 255 / 0.2); padding-top: 40px; }
body.cpgs .cpgs-footer__contact ul { gap: 16px; font-size: 0.95rem; color: rgb(255 255 255 / 0.85); }
@media (min-width: 640px) { body.cpgs .cpgs-footer__contact ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.cpgs .cpgs-footer__label { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: 0.14em; color: rgb(255 255 255 / 0.6); line-height: 1.33; }
body.cpgs .cpgs-footer__value { display: block; margin-top: 4px; font-weight: 500; }
body.cpgs .cpgs-footer__value a { color: inherit; text-decoration: none; }
body.cpgs .cpgs-footer__value a:hover { text-decoration: underline; }
body.cpgs .cpgs-footer__legal { margin-top: 40px !important; border-top: 1px solid rgb(255 255 255 / 0.15); padding-top: 24px; font-size: 14px; color: rgb(255 255 255 / 0.7); line-height: 1.43; }

/* 404 */
body.cpgs .cpgs-404 { display: flex; min-height: 70vh; align-items: center; justify-content: center; padding: 0 24px; }
body.cpgs .cpgs-404__inner { max-width: 28rem; }
body.cpgs .cpgs-404 p.cpgs-404__code { margin-top: 0; font-family: var(--cpgs-font-display); font-size: 4.5rem; font-weight: 600; line-height: 1; color: var(--cpgs-fg); }
body.cpgs .cpgs-404__code { font-family: var(--cpgs-font-display); font-size: 4.5rem; font-weight: 600; line-height: 1; }
body.cpgs .cpgs-404 h1 { margin-top: 16px; font-size: 1.25rem; }
body.cpgs .cpgs-404 p { padding: 0; margin-top: 8px; font-size: 14px; color: var(--cpgs-muted); }
body.cpgs .cpgs-404 .cpgs-btn { margin-top: 24px; }
body.cpgs .cpgs-404 .cpgs-btn::after { display: none !important; }

/* ---------- Reveal on scroll (front end only; JS adds .cpgs-reveal-on) ---------- */
html.cpgs-reveal-on .cpgs-reveal { opacity: 0; transform: translateY(14px); transition: opacity 0.6s var(--cpgs-ease), transform 0.6s var(--cpgs-ease); }
html.cpgs-reveal-on .cpgs-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html.cpgs-reveal-on .cpgs-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  body.cpgs *, body.cpgs *::before, body.cpgs *::after { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

body.cpgs .cpgs-nav__mark { width: 16px; height: 16px; color: var(--cpgs-signal); }
body.cpgs .cpgs-mnav__toplink .cpgs-nav__mark { width: 20px; height: 20px; }

/* No-JS / delayed-JS fallback: panels still open on hover and keyboard focus */
html:not(.cpgs-js) .cpgs-nav__item.has-mega:hover > .cpgs-mega,
html:not(.cpgs-js) .cpgs-nav__item.has-mega:focus-within > .cpgs-mega { opacity: 1; transform: none; pointer-events: auto; visibility: visible; }
html:not(.cpgs-js) .cpgs-nav__item.has-mega:hover .cpgs-nav__chev { transform: rotate(180deg); }

/* ==========================================================================
   [cpgs_mega_menu] inside a Divi Theme Builder header (Code module)
   ========================================================================== */
body.cpgs .cpgs-menu-embed { display: flex; align-items: center; justify-content: flex-end; width: 100%; font-family: var(--cpgs-font); line-height: 1.5; color: var(--cpgs-fg); }
body.cpgs .cpgs-menu-embed--left { justify-content: flex-start; }
body.cpgs .cpgs-menu-embed--center { justify-content: center; }
body.cpgs .cpgs-menu-embed .cpgs-mnav {
  position: fixed; left: 0; right: 0; top: var(--cpgs-mnav-top, 96px); z-index: 100000;
  max-height: calc(100dvh - var(--cpgs-mnav-top, 96px));
  box-shadow: 0 24px 40px -24px oklch(0 0 0 / 0.35);
}
body.cpgs .cpgs-menu-embed .cpgs-mnav__inner { padding-top: 8px; }
html.cpgs-mnav-open, html.cpgs-mnav-open body { overflow: hidden; }
/* Keep Theme Builder header containers from clipping the panels or sitting under page content */
body.cpgs .et-l--header:has(.cpgs-menu-root) { position: relative; z-index: 1000; }
body.cpgs .et-l--header :is(.et_pb_section, .et_pb_row, .et_pb_column, .et_pb_module, .et_pb_code_inner):has(.cpgs-menu-root) { overflow: visible !important; }
body.cpgs .et_pb_code:has(> .et_pb_code_inner > .cpgs-menu-embed), body.cpgs .et_pb_code:has(> .cpgs-menu-embed) { width: 100%; }

/* ==========================================================================
   Utility bar (menu location "Utility Bar") above the CPGS header
   ========================================================================== */
body.cpgs .cpgs-utility { background: var(--cpgs-ink); color: rgb(255 255 255 / 0.8); font-size: 13px; line-height: 1.4; }
body.cpgs .cpgs-utility ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 24px; padding: 10px 0; }
body.cpgs .cpgs-utility a { color: rgb(255 255 255 / 0.8); font-weight: 500; }
body.cpgs .cpgs-utility a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) { body.cpgs .cpgs-utility ul { justify-content: center; } }

/* [cpgs_footer] / [cpgs_header] placed in a Code module: break out of the row to full width */
body.cpgs .et_pb_code_inner > .cpgs-footer, body.cpgs .et_pb_code_inner > .cpgs-header { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }
body.cpgs .et-l--footer .et_pb_section:has(.cpgs-footer), body.cpgs .et-l--footer .et_pb_row:has(.cpgs-footer) { padding-top: 0 !important; padding-bottom: 0 !important; }
body.cpgs .et-l--header .et_pb_section:has(> .et_pb_row .cpgs-header), body.cpgs .et-l--header .et_pb_row:has(.cpgs-header) { padding-top: 0 !important; padding-bottom: 0 !important; }
body.cpgs .et-l--footer :is(.et_pb_column, .et_pb_module):has(.cpgs-footer), body.cpgs .et-l--header :is(.et_pb_column, .et_pb_module):has(.cpgs-header) { width: 100% !important; float: none !important; margin-right: 0 !important; }
body.cpgs .cpgs-header__logo img { height: 32px; max-height: none; width: auto; display: block; }
@media (min-width: 768px) { body.cpgs .cpgs-header__logo img { height: 40px; } }
body.cpgs .cpgs-footer__logo img { height: 28px; width: auto; display: block; }
@media (min-width: 768px) { body.cpgs .cpgs-footer__logo img { height: 32px; } }

/* ---------- After-hours page ---------- */
/* Photo hero: set the photo as the Divi section's Background Image; the overlay keeps text readable */
body.cpgs .et_pb_section.cpgs-photohero { position: relative; overflow: hidden; padding: 112px 0 !important; background-color: var(--cpgs-ink); background-size: cover; background-position: center; }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-photohero { padding: 120px 0 !important; } }
body.cpgs .cpgs-photohero::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, rgb(0 0 0 / 0.78) 0%, rgb(0 0 0 / 0.6) 45%, rgb(0 0 0 / 0.35) 100%); }
body.cpgs .cpgs-photohero > .et_pb_row { position: relative; z-index: 1; }
body.cpgs .cpgs-herotext--photo .cpgs-eyebrow { color: #fff; }
body.cpgs .cpgs-herotext--photo h1 { margin-top: 24px; max-width: 46rem; font-size: var(--cpgs-h1); line-height: 1.05; color: #fff; }
body.cpgs .cpgs-herotext--photo .cpgs-lead { margin-top: 28px; max-width: 40rem; color: rgb(255 255 255 / 0.88); }

/* Number band */
body.cpgs .et_pb_section.cpgs-s--band { padding: 56px 0; border-bottom: 1px solid var(--cpgs-line); }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--band { padding: 64px 0; } }
@media (min-width: 768px) { body.cpgs .et_pb_row.cpgs-g-numberbar { grid-template-columns: minmax(0, 1fr) auto !important; align-items: center; gap: 32px; } }
body.cpgs .et_pb_row.cpgs-g-numberbar { gap: 28px; }
body.cpgs .cpgs-numberbar h2 { margin-top: 16px; font-size: 1.5rem; line-height: 1.3; letter-spacing: -0.02em; }
body.cpgs .cpgs-numberbar__number { margin-top: 12px !important; font-family: var(--cpgs-font-display); font-weight: 600; letter-spacing: -0.02em; line-height: 1.05; font-size: min(clamp(2.5rem, 4.4vw, 3.75rem), 11vw); white-space: nowrap; }
body.cpgs .cpgs-numberbar__number a { color: var(--cpgs-signal); text-decoration: none; }
body.cpgs .cpgs-numberbar__number a:hover { color: var(--cpgs-signal-deep); }
body.cpgs .cpgs-flexcol.cpgs-flexcol--middle { align-content: center; align-items: center; }
@media (max-width: 767px) { body.cpgs .cpgs-flexcol.cpgs-flexcol--middle { justify-content: flex-start; } }
body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--phone::before, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--message::before, body.cpgs .cpgs-btn.cpgs-btn--phone::before, body.cpgs .cpgs-btn.cpgs-btn--message::before {
  content: "" !important; display: inline-block !important; position: static !important; opacity: 1 !important; margin: 0 !important;
  width: 18px !important; height: 18px !important; flex: none; background: currentColor; transform: none !important; font-size: 0 !important;
  -webkit-mask: var(--cpgs-i-phone) center / contain no-repeat; mask: var(--cpgs-i-phone) center / contain no-repeat;
}
body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--message::before, body.cpgs .cpgs-btn.cpgs-btn--message::before { -webkit-mask-image: var(--cpgs-i-message); mask-image: var(--cpgs-i-message); }
body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--phone, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--message { gap: 10px; }

/* Two columns with a hairline between them */
@media (min-width: 1024px) {
  body.cpgs .et_pb_row.cpgs-g-divided { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr) !important; gap: 0; align-items: start; }
  body.cpgs .cpgs-g-divided > .cpgs-divided-col { border-left: 1px solid var(--cpgs-line); padding-left: 56px !important; margin-left: 48px !important; }
}
body.cpgs .et_pb_row.cpgs-g-divided { gap: 56px; }
body.cpgs .cpgs-intro--sm h2 { font-size: clamp(1.75rem, 2.6vw, 2.25rem); line-height: 1.15; }
body.cpgs .cpgs-intro--sm .cpgs-lead { font-size: 1.125rem; }
body.cpgs .cpgs-iconlist { margin-top: 32px !important; border-top: 1px solid var(--cpgs-line); }
body.cpgs .cpgs-iconlist li { display: flex; gap: 20px; align-items: flex-start; padding: 22px 0; border-bottom: 1px solid var(--cpgs-line); font-size: 1.125rem; line-height: 1.6; color: var(--cpgs-fg); }
body.cpgs .cpgs-iconlist li::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: 2px; background: var(--cpgs-signal);
  -webkit-mask: var(--cpgs-i-alert) center / contain no-repeat; mask: var(--cpgs-i-alert) center / contain no-repeat; }
body.cpgs .cpgs-iconlist li.cpgs-ico-lock::before { -webkit-mask-image: var(--cpgs-i-lock); mask-image: var(--cpgs-i-lock); }
body.cpgs .cpgs-iconlist li.cpgs-ico-key::before { -webkit-mask-image: var(--cpgs-i-key); mask-image: var(--cpgs-i-key); }
body.cpgs .cpgs-iconlist li.cpgs-ico-shield::before { -webkit-mask-image: var(--cpgs-i-shield); mask-image: var(--cpgs-i-shield); }
body.cpgs .cpgs-aside-notes h3 { font-size: clamp(1.5rem, 2vw, 1.875rem); line-height: 1.25; }
body.cpgs .cpgs-aside-notes p { margin-top: 24px !important; font-size: 1.125rem; line-height: 1.7; color: var(--cpgs-muted); }
body.cpgs .cpgs-aside-notes a { color: inherit; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
body.cpgs .cpgs-aside-notes a:hover { color: var(--cpgs-signal); }
body.cpgs .cpgs-danger { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--cpgs-line); }
body.cpgs .cpgs-danger::before { content: ""; display: block; width: 28px; height: 28px; background: var(--cpgs-signal);
  -webkit-mask: var(--cpgs-i-alert) center / contain no-repeat; mask: var(--cpgs-i-alert) center / contain no-repeat; }
body.cpgs .cpgs-danger h3 { margin-top: 24px; font-size: 1.5rem; line-height: 1.3; }
body.cpgs .cpgs-aside-notes .cpgs-danger p { margin-top: 16px !important; font-size: 1.125rem; line-height: 1.6; color: var(--cpgs-fg); }
body.cpgs .cpgs-aside-notes .cpgs-danger a { color: var(--cpgs-fg); font-weight: 600; text-decoration-thickness: 2px; }

/* ==========================================================================
   CPGS Operations (v2) components. Loaded after the base design system.
   ========================================================================== */

/* ---------- Icon hooks: .cpgs-i-{name} sets --cpgs-ic for elements that draw an icon ---------- */
body.cpgs .cpgs-i-bank { --cpgs-ic: var(--cpgs-i-bank); }
body.cpgs .cpgs-i-higher-ed { --cpgs-ic: var(--cpgs-i-higher-ed); }
body.cpgs .cpgs-i-school { --cpgs-ic: var(--cpgs-i-school); }
body.cpgs .cpgs-i-warehouse { --cpgs-ic: var(--cpgs-i-warehouse); }
body.cpgs .cpgs-i-medical { --cpgs-ic: var(--cpgs-i-medical); }
body.cpgs .cpgs-i-support { --cpgs-ic: var(--cpgs-i-support); }
body.cpgs .cpgs-i-sparkles { --cpgs-ic: var(--cpgs-i-sparkles); }
body.cpgs .cpgs-i-clipboard-check { --cpgs-ic: var(--cpgs-i-clipboard-check); }
body.cpgs .cpgs-i-package-check { --cpgs-ic: var(--cpgs-i-package-check); }
body.cpgs .cpgs-i-search { --cpgs-ic: var(--cpgs-i-search); }
body.cpgs .cpgs-i-list-checks { --cpgs-ic: var(--cpgs-i-list-checks); }
body.cpgs .cpgs-i-wrench { --cpgs-ic: var(--cpgs-i-wrench); }
body.cpgs .cpgs-i-badge-check { --cpgs-ic: var(--cpgs-i-badge-check); }
body.cpgs .cpgs-i-bar-chart { --cpgs-ic: var(--cpgs-i-bar-chart); }
body.cpgs .cpgs-i-refresh { --cpgs-ic: var(--cpgs-i-refresh); }

/* ---------- Base adjustments ---------- */
body.cpgs .cpgs-row.cpgs-mt-12 { margin-top: 48px !important; }
body.cpgs .cpgs-row.cpgs-mt-24 { margin-top: 96px !important; }
body.cpgs .cpgs-tone-dark .cpgs-eyebrow { color: #fff; }
body.cpgs .cpgs-tone-dark .cpgs-lead { color: #fff; }
body.cpgs .cpgs-tone-dark .cpgs-lead.cpgs-lead--80 { color: rgb(255 255 255 / 0.8); }
body.cpgs .cpgs-eyebrow--wide { letter-spacing: 0.16em; }
body.cpgs .cpgs-tone-dark .cpgs-eyebrow.cpgs-eyebrow--60 { color: rgb(255 255 255 / 0.6); letter-spacing: 0.18em; }
body.cpgs .cpgs-more--row { display: flex; flex-wrap: wrap; gap: 24px; }
body.cpgs .cpgs-intro .cpgs-more--row { margin-top: 32px; }
body.cpgs .et_pb_section.cpgs-s--roomy { padding: 96px 0; }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--roomy { padding: 128px 0; } }
body.cpgs .et_pb_section.cpgs-s--model { padding: 80px 0; }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--model { padding: 96px 0; } }
body.cpgs .et_pb_section.cpgs-s--related { padding: 64px 0; }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--related { padding: 80px 0; } }
body.cpgs .cpgs-bighead h2 { font-size: var(--cpgs-h2); font-weight: 700; letter-spacing: -0.025em; line-height: 1.1; }

/* Breadcrumb links get a 44px tap target, like the original */
body.cpgs .cpgs-crumbs a { display: inline-flex; min-height: 44px; align-items: center; }
body.cpgs .cpgs-row.cpgs-crumbs-row { margin-bottom: 32px !important; }
body.cpgs .cpgs-crumbs ol { row-gap: 0; }

/* ---------- Photos (Divi Image module + cpgs-photo) ---------- */
body.cpgs .et_pb_image.cpgs-photo { width: 100%; max-width: 100%; margin: 0 !important; line-height: 0; text-align: left; }
body.cpgs .et_pb_image.cpgs-photo .et_pb_image_wrap { display: block; width: 100%; overflow: hidden; border-radius: var(--cpgs-radius-lg); background: var(--cpgs-soft); }
body.cpgs .et_pb_image.cpgs-photo img { display: block; width: 100% !important; height: auto; max-width: none; aspect-ratio: var(--cpgs-ratio, 4 / 3); object-fit: cover; border-radius: inherit; }
body.cpgs .et_pb_image.cpgs-photo--xl .et_pb_image_wrap { border-radius: 12px; }
@media (min-width: 640px) { body.cpgs .cpgs-ratio-sm-5-4 { --cpgs-ratio: 5 / 4; } }
@media (min-width: 1024px) { body.cpgs .cpgs-ratio-sm-5-4.cpgs-ratio-4-5 { --cpgs-ratio: 4 / 5; } }
body.cpgs .cpgs-pos-right img { object-position: 85% 50%; }
body.cpgs .cpgs-pos-50-40 img { object-position: 50% 40%; }
body.cpgs .cpgs-pos-60-40 img { object-position: 60% 40%; }
body.cpgs .cpgs-pos-top30 img { object-position: center 30%; }

/* Background photo row (cinematic hero, after-hours hero): the first row of the section */
body.cpgs .et_pb_row.cpgs-bgrow { position: absolute !important; inset: 0; z-index: 0; display: block !important; width: 100% !important; max-width: none !important; height: 100%; margin: 0 !important; padding: 0 !important; }
body.cpgs .cpgs-bgrow > .et_pb_column { position: absolute !important; inset: 0; height: 100%; }
body.cpgs .cpgs-bgrow .et_pb_image.cpgs-bgphoto { position: absolute !important; inset: 0; height: 100%; }
body.cpgs .cpgs-bgrow .et_pb_image.cpgs-bgphoto .et_pb_image_wrap { height: 100%; border-radius: 0; background: transparent; }
body.cpgs .cpgs-bgrow .et_pb_image.cpgs-bgphoto img { height: 100%; aspect-ratio: auto; border-radius: 0; }
body.cpgs .cpgs-row.cpgs-bgrow + .cpgs-row { margin-top: 0 !important; }
body.cpgs .et_pb_section:has(> .cpgs-bgrow) > .cpgs-row:not(.cpgs-bgrow) { position: relative; z-index: 2; }

/* ---------- Subpage hero ---------- */
body.cpgs .et_pb_section.cpgs-s--subhero { padding: 32px 0 64px; border-bottom: 1px solid var(--cpgs-line); }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--subhero { padding: 48px 0 80px; } }
body.cpgs .et_pb_row.cpgs-g-pagehero { gap: 40px; }
@media (min-width: 1024px) {
  body.cpgs .et_pb_row.cpgs-g-pagehero { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) !important; gap: 64px; align-items: center; }
  body.cpgs .et_pb_row.cpgs-g-pagehero.cpgs-g-pagehero--solo { grid-template-columns: minmax(0, 1fr) !important; }
}
body.cpgs .cpgs-hero-aside { max-width: 36rem; }
@media (min-width: 1024px) { body.cpgs .cpgs-hero-aside { max-width: none; } }
body.cpgs .cpgs-s--subhero .cpgs-herotext h1 { margin-top: 20px; max-width: 48rem; font-size: 2.5rem; font-weight: 600; line-height: 1.08; overflow-wrap: break-word; }
@media (min-width: 768px) { body.cpgs .cpgs-s--subhero .cpgs-herotext h1 { font-size: 3.5rem; } }
body.cpgs .cpgs-s--subhero .cpgs-herotext .cpgs-lead { margin-top: 24px; max-width: 36rem; }
body.cpgs .cpgs-row > .cpgs-flexcol > .et_pb_module.cpgs-herotext { margin-bottom: 32px !important; }

/* ---------- Buttons: sizes and new tones ---------- */
body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--lg, body.cpgs .cpgs-btn.cpgs-btn--lg, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--lg:hover, body.cpgs .cpgs-btn.cpgs-btn--lg:hover { min-height: 56px; padding: 0 32px !important; font-size: 16px !important; gap: 10px; }
body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--xl, body.cpgs .cpgs-btn.cpgs-btn--xl, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--xl:hover, body.cpgs .cpgs-btn.cpgs-btn--xl:hover { min-height: 64px; padding: 0 40px !important; font-size: 18px !important; }
body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--glow, body.cpgs .cpgs-btn.cpgs-btn--glow { box-shadow: 0 18px 40px -16px var(--cpgs-signal) !important; }
body.cpgs .cpgs-btn.cpgs-btn--ghostlight, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--ghostlight { background-color: transparent !important; color: #fff !important; border-color: rgb(255 255 255 / 0.4) !important; }
body.cpgs .cpgs-btn.cpgs-btn--ghostlight:hover, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--ghostlight:hover { background-color: rgb(255 255 255 / 0.1) !important; border-color: #fff !important; color: #fff !important; }
body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--lg.cpgs-btn--ghostlight, body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--lg.cpgs-btn--ghostlight:hover { padding: 0 28px !important; }
body.cpgs #page-container a.et_pb_button.cpgs-btn.cpgs-btn--play::before, body.cpgs .cpgs-btn.cpgs-btn--play::before {
  content: "" !important; display: inline-block !important; position: static !important; opacity: 1 !important; margin: 0 !important;
  width: 20px !important; height: 20px !important; flex: none; background: currentColor; transform: none !important; font-size: 0 !important;
  -webkit-mask: var(--cpgs-i-play) center / contain no-repeat; mask: var(--cpgs-i-play) center / contain no-repeat;
}
body.cpgs .cpgs-tone-dark .cpgs-btn.cpgs-btn--primary, body.cpgs #page-container .cpgs-tone-dark a.et_pb_button.cpgs-btn.cpgs-btn--primary { background-color: #fff !important; color: var(--cpgs-ink) !important; }

/* ---------- Cinematic home hero ---------- */
body.cpgs .et_pb_section.cpgs-s--cinema { padding: 0; isolation: isolate; overflow: hidden; background-color: #000; }
body.cpgs .cpgs-s--cinema::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to right, rgb(0 0 0 / 0.92), rgb(0 0 0 / 0.62) 45%, transparent 78%);
}
@media (min-width: 768px) { body.cpgs .cpgs-s--cinema::after { background: linear-gradient(to right, rgb(0 0 0 / 0.85), rgb(0 0 0 / 0.45) 40%, transparent 60%); } }
body.cpgs .cpgs-pos-hero img { object-position: 68% 45%; }
@media (min-width: 768px) { body.cpgs .cpgs-pos-hero img { object-position: 72% center; } }
body.cpgs .et_pb_row.cpgs-g-cinema { min-height: min(88vh, 52rem); align-content: center; padding-top: 96px !important; padding-bottom: 96px !important; }
@media (min-width: 768px) { body.cpgs .et_pb_row.cpgs-g-cinema { padding-top: 128px !important; padding-bottom: 128px !important; } }
body.cpgs .cpgs-flexcol.cpgs-flexcol--cinema { max-width: 46rem; gap: 16px; align-items: center; }
body.cpgs .cpgs-row > .cpgs-flexcol--cinema > .et_pb_module.cpgs-cinema { margin-bottom: 28px !important; }
body.cpgs .cpgs-kicker { display: flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.2em; line-height: 1.33; color: rgb(255 255 255 / 0.75); }
body.cpgs .cpgs-kicker::before { content: ""; width: 40px; height: 2px; background: var(--cpgs-signal); flex: none; }
body.cpgs .cpgs-cinema h1 { margin-top: 32px; font-size: clamp(2.75rem, 6.4vw, 5.75rem); font-weight: 700; line-height: 0.92; letter-spacing: -0.035em; color: #fff; }
@media (max-width: 767px) { body.cpgs .cpgs-cinema h1 { max-width: 15rem; } }
body.cpgs .cpgs-cinema .cpgs-lead { margin-top: 36px; max-width: 32rem; color: rgb(255 255 255 / 0.8); }

/* ---------- Scale strip ---------- */
body.cpgs .et_pb_section.cpgs-s--scale { padding: 48px 0; border-bottom: 1px solid var(--cpgs-line); }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--scale { padding: 56px 0; } }
body.cpgs .cpgs-scale dl { display: grid; gap: 32px; margin: 0; text-align: center; }
@media (min-width: 640px) {
  body.cpgs .cpgs-scale dl { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  body.cpgs .cpgs-scale dl > div { padding: 0 24px; }
  body.cpgs .cpgs-scale dl > div + div { border-left: 1px solid var(--cpgs-line); }
}
body.cpgs .cpgs-scale dd { margin: 0; }
body.cpgs .cpgs-scale__value { font-family: var(--cpgs-font-display); font-size: clamp(2.5rem, 5vw, 3.75rem); font-weight: 700; line-height: 1; letter-spacing: -0.03em; color: var(--cpgs-signal); font-variant-numeric: tabular-nums; }
body.cpgs .cpgs-scale dd.cpgs-scale__label { margin-top: 8px; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; line-height: 1.43; color: var(--cpgs-muted); }
body.cpgs .cpgs-scale__trust { margin-top: 40px !important; display: flex; align-items: center; justify-content: center; gap: 12px; text-align: center; font-size: 0.95rem; line-height: 1.5; color: var(--cpgs-muted); }
body.cpgs .cpgs-scale__trust::before { content: ""; flex: none; width: 20px; height: 20px; background: var(--cpgs-signal); -webkit-mask: var(--cpgs-i-shield-check) center / contain no-repeat; mask: var(--cpgs-i-shield-check) center / contain no-repeat; }

/* ---------- Intro + action rows ---------- */
body.cpgs .et_pb_row.cpgs-g-intro-action { gap: 24px; }
@media (min-width: 1024px) { body.cpgs .et_pb_row.cpgs-g-intro-action { grid-template-columns: minmax(0, 1fr) auto !important; align-items: end; } }
body.cpgs .et_pb_row.cpgs-g-intro-action .cpgs-flexcol--end { justify-content: flex-start; }
@media (min-width: 1024px) { body.cpgs .et_pb_row.cpgs-g-intro-action .cpgs-flexcol--end { justify-content: flex-end; } }

/* ---------- Photo service cards ---------- */
body.cpgs .et_pb_text.cpgs-pcard {
  position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 12px; background: var(--cpgs-ink);
  box-shadow: 0 24px 48px -28px rgb(0 0 0 / 0.6); transition: transform 0.5s var(--cpgs-ease), opacity 0.6s var(--cpgs-ease);
}
body.cpgs .et_pb_text.cpgs-pcard:hover, body.cpgs .et_pb_text.cpgs-pcard:focus-within { transform: translateY(-4px); }
body.cpgs .cpgs-pcard .et_pb_text_inner { position: static !important; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
body.cpgs .cpgs-pcard__img { position: absolute; inset: 0; margin: 0; }
body.cpgs .cpgs-pcard__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s var(--cpgs-ease); }
body.cpgs .cpgs-pcard:hover .cpgs-pcard__img img, body.cpgs .cpgs-pcard:focus-within .cpgs-pcard__img img { transform: scale(1.04); }
body.cpgs .cpgs-pcard__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(0 0 0 / 0.95), rgb(0 0 0 / 0.45) 50%, rgb(0 0 0 / 0)); }
body.cpgs .et_pb_text.cpgs-pcard::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; height: 4px; background: var(--cpgs-signal); transform: scaleX(0); transform-origin: left; transition: transform 0.5s var(--cpgs-ease); }
body.cpgs .et_pb_text.cpgs-pcard:hover::after, body.cpgs .et_pb_text.cpgs-pcard:focus-within::after { transform: scaleX(1); }
body.cpgs .cpgs-pcard__body { z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; align-items: end; padding: 24px; }
@media (min-width: 768px) { body.cpgs .cpgs-pcard__body { padding: 28px; } }
body.cpgs .cpgs-pcard__body::after {
  content: ""; grid-column: 2; grid-row: 1; width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgb(255 255 255 / 0.3);
  background: var(--cpgs-i-arrow-ur-white) center / 20px 20px no-repeat; transition: background-color 0.2s, border-color 0.2s;
}
body.cpgs .cpgs-pcard:hover .cpgs-pcard__body::after, body.cpgs .cpgs-pcard:focus-within .cpgs-pcard__body::after { background-color: var(--cpgs-signal); border-color: var(--cpgs-signal); }
body.cpgs .cpgs-pcard h3 { grid-column: 1; grid-row: 1; font-size: var(--cpgs-h3); font-weight: 600; line-height: 1.25; color: #fff; }
body.cpgs .cpgs-pcard h3 a { color: #fff; text-decoration: none; }
body.cpgs .cpgs-pcard h3 a::after { content: ""; position: absolute; inset: 0; z-index: 4; border-radius: inherit; }
body.cpgs .cpgs-pcard h3 a:focus-visible { outline: none; }
body.cpgs .et_pb_text.cpgs-pcard:focus-within { outline: 2px solid var(--cpgs-signal); outline-offset: 2px; }
body.cpgs .cpgs-pcard .cpgs-pcard__text {
  grid-column: 1 / -1; margin-top: 12px; min-height: 4.5em; font-size: 0.98rem; line-height: 1.625; color: rgb(255 255 255 / 0.75);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
body.cpgs .cpgs-g-cards3 > * > .cpgs-pcard { height: auto; }

/* ---------- Specialty services (home) ---------- */
body.cpgs .cpgs-minis ul { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--cpgs-line); border-radius: 12px; background: var(--cpgs-line); }
@media (min-width: 768px) { body.cpgs .cpgs-minis ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.cpgs .cpgs-minis li { position: relative; display: flex; gap: 16px; padding: 24px; background: var(--cpgs-bg); transition: background-color 0.2s; }
body.cpgs .cpgs-minis li.is-link:hover { background: var(--cpgs-soft); }
body.cpgs .cpgs-minis__icon { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 999px; background: color-mix(in srgb, var(--cpgs-signal) 10%, transparent); }
body.cpgs .cpgs-minis__icon::before { content: ""; width: 20px; height: 20px; background: var(--cpgs-signal); -webkit-mask: var(--cpgs-ic) center / contain no-repeat; mask: var(--cpgs-ic) center / contain no-repeat; }
body.cpgs .cpgs-minis__name { font-size: 1.125rem; font-weight: 600; line-height: 1.375; }
body.cpgs .cpgs-minis__name a::after { content: ""; position: absolute; inset: 0; }
body.cpgs .cpgs-minis .cpgs-minis__body { margin-top: 6px; font-size: 1rem; line-height: 1.625; color: var(--cpgs-muted); }

/* ---------- Problem statement + six standards ---------- */
body.cpgs .cpgs-problem .et_pb_text_inner { display: grid; gap: 32px; border-bottom: 1px solid var(--cpgs-line); padding-bottom: 64px; }
@media (min-width: 1024px) { body.cpgs .cpgs-problem .et_pb_text_inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: end; } }
body.cpgs .cpgs-problem .cpgs-problem__title { margin-top: 24px; max-width: 48rem; font-family: var(--cpgs-font-display); font-size: clamp(2.25rem, 4.6vw, 4rem); font-weight: 700; line-height: 1; letter-spacing: -0.035em; }
body.cpgs .cpgs-problem__body { max-width: 32rem; font-size: var(--cpgs-body-l); line-height: 1.625; color: var(--cpgs-muted); }

body.cpgs .cpgs-std .et_pb_text_inner > ol { display: grid; gap: 32px; }
@media (min-width: 1024px) { body.cpgs .cpgs-std .et_pb_text_inner > ol { grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr); gap: 0; } }
body.cpgs .cpgs-std__lead { border-radius: 12px; background: color-mix(in srgb, var(--cpgs-signal) 7%, transparent); padding: 32px; }
@media (min-width: 768px) { body.cpgs .cpgs-std__lead { padding: 48px; } }
@media (min-width: 1024px) { body.cpgs .cpgs-std__lead { margin: 40px 48px 40px 0 !important; } }
body.cpgs .cpgs-std__num { font-family: var(--cpgs-font-display); font-size: clamp(4.5rem, 9vw, 8rem); font-weight: 700; line-height: 1; letter-spacing: -0.05em; color: var(--cpgs-signal); font-variant-numeric: tabular-nums; }
body.cpgs .cpgs-std__lead h3 { margin-top: 24px; font-size: var(--cpgs-h2); font-weight: 700; line-height: 1; letter-spacing: -0.03em; }
body.cpgs .cpgs-std__lead .cpgs-std__body { margin-top: 20px; max-width: 28rem; font-size: var(--cpgs-body-l); line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-std__rest > ol { display: grid; border-top: 1px solid rgb(17 17 17 / 0.8); }
@media (min-width: 640px) { body.cpgs .cpgs-std__rest > ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.cpgs .cpgs-std__rest > ol > li { border-bottom: 1px solid var(--cpgs-line); padding: 32px 0; }
@media (min-width: 640px) {
  body.cpgs .cpgs-std__rest > ol > li:nth-child(odd) { padding-right: 32px; }
  body.cpgs .cpgs-std__rest > ol > li:nth-child(even) { border-left: 1px solid var(--cpgs-line); padding-left: 32px; }
  body.cpgs .cpgs-std__rest > ol > li:last-child { grid-column: span 2; }
}
@media (min-width: 1024px) { body.cpgs .cpgs-std__rest > ol > li { padding-top: 40px; padding-bottom: 40px; } }
body.cpgs .cpgs-std__head { display: flex; align-items: baseline; gap: 16px; }
body.cpgs .cpgs-std__n { font-family: var(--cpgs-font-display); font-size: 1.875rem; font-weight: 700; line-height: 1.2; color: rgb(17 17 17 / 0.25); font-variant-numeric: tabular-nums; }
body.cpgs .cpgs-std__rest h3 { font-size: 1.5rem; font-weight: 600; line-height: 1.33; letter-spacing: -0.02em; }
body.cpgs .cpgs-std__rest .cpgs-std__body { margin-top: 12px; font-size: 1rem; line-height: 1.625; color: var(--cpgs-muted); }

/* ---------- Operating timeline ---------- */
body.cpgs .cpgs-timeline ol { position: relative; display: grid; border-left: 1px solid color-mix(in srgb, var(--cpgs-signal) 40%, transparent); padding-left: 32px; }
@media (min-width: 1024px) {
  body.cpgs .cpgs-timeline ol { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 32px; border-left: 0; padding-left: 0; }
  body.cpgs .cpgs-timeline ol::before { content: ""; position: absolute; top: 24px; left: 32px; right: 32px; height: 1px; background: color-mix(in srgb, var(--cpgs-signal) 40%, transparent); }
}
body.cpgs .cpgs-timeline li { position: relative; padding-bottom: 40px; }
body.cpgs .cpgs-timeline li:last-child { padding-bottom: 0; }
@media (min-width: 1024px) { body.cpgs .cpgs-timeline li { padding-bottom: 0; } }
body.cpgs .cpgs-timeline__icon {
  position: absolute; left: -3.05rem; top: 0; display: grid; place-items: center; width: 48px; height: 48px;
  border-radius: 999px; border: 2px solid var(--cpgs-signal); background: var(--cpgs-bg); color: var(--cpgs-signal);
}
@media (min-width: 1024px) { body.cpgs .cpgs-timeline__icon { position: relative; left: 0; } }
body.cpgs .cpgs-timeline__icon::before { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--cpgs-ic) center / contain no-repeat; mask: var(--cpgs-ic) center / contain no-repeat; }
body.cpgs .cpgs-timeline li:last-child .cpgs-timeline__icon { background: var(--cpgs-signal); color: #fff; }
body.cpgs .cpgs-timeline h3 { padding-top: 8px; font-size: 1.25rem; font-weight: 600; line-height: 1.375; }
@media (min-width: 1024px) { body.cpgs .cpgs-timeline h3 { margin-top: 24px; padding-top: 0; } }
body.cpgs .cpgs-timeline li > p { margin-top: 8px; font-size: 1rem; line-height: 1.625; color: var(--cpgs-muted); }

/* ---------- Technology band (home) ---------- */
body.cpgs .et_pb_section.cpgs-s--tech { isolation: isolate; overflow: hidden; }
body.cpgs .cpgs-s--tech::before { content: ""; position: absolute; top: -33%; right: -25%; z-index: 0; width: 48rem; height: 48rem; border-radius: 999px; background: var(--cpgs-signal); opacity: 0.05; filter: blur(64px); pointer-events: none; }
body.cpgs .cpgs-s--tech > .et_pb_row { position: relative; z-index: 1; }
body.cpgs .et_pb_row.cpgs-g-tech { gap: 64px; }
@media (min-width: 1024px) { body.cpgs .et_pb_row.cpgs-g-tech { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) !important; align-items: center; } }
body.cpgs .cpgs-intro--tech .cpgs-eyebrow { font-size: 14px; color: rgb(255 255 255 / 0.7); }
body.cpgs .cpgs-intro--tech h2 { margin-top: 28px; font-weight: 700; line-height: 1; letter-spacing: -0.025em; }
body.cpgs .cpgs-intro--tech .cpgs-lead { margin-top: 28px; max-width: 32rem; color: rgb(255 255 255 / 0.75); }
body.cpgs .cpgs-techlinks ul { display: grid; gap: 16px; }
body.cpgs .cpgs-techlinks li { position: relative; display: flex; align-items: flex-start; gap: 20px; border: 1px solid rgb(255 255 255 / 0.1); border-radius: var(--cpgs-radius-lg); padding: 20px; transition: border-color 0.2s, background-color 0.2s; }
body.cpgs .cpgs-techlinks li:hover { border-color: color-mix(in srgb, var(--cpgs-signal) 60%, transparent); background: rgb(255 255 255 / 0.05); }
body.cpgs .cpgs-techlinks li::after { content: ""; flex: none; width: 20px; height: 20px; margin-top: 4px; background: rgb(255 255 255 / 0.5); -webkit-mask: var(--cpgs-i-arrow) center / contain no-repeat; mask: var(--cpgs-i-arrow) center / contain no-repeat; transition: transform 0.2s, background-color 0.2s; }
body.cpgs .cpgs-techlinks li:hover::after { transform: translateX(4px); background: var(--cpgs-signal); }
body.cpgs .cpgs-badge { flex: none; border-radius: var(--cpgs-radius); background: var(--cpgs-signal); padding: 6px 12px; font-family: var(--cpgs-font-display); font-size: 14px; font-weight: 700; letter-spacing: 0.08em; line-height: 1.43; color: #fff; }
body.cpgs .cpgs-techlinks__text { flex: 1; min-width: 0; }
body.cpgs .cpgs-techlinks__title { font-weight: 600; line-height: 1.5; }
body.cpgs .cpgs-techlinks__title a { color: #fff; text-decoration: none; }
body.cpgs .cpgs-techlinks__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
body.cpgs .cpgs-techlinks .cpgs-techlinks__body { margin-top: 4px; font-size: 0.95rem; line-height: 1.625; color: rgb(255 255 255 / 0.65); }
body.cpgs .cpgs-trio ol { display: grid; border-top: 1px solid rgb(255 255 255 / 0.15); }
@media (min-width: 768px) { body.cpgs .cpgs-trio ol { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.cpgs .cpgs-trio li { display: flex; align-items: baseline; gap: 16px; padding: 28px 0; }
@media (min-width: 768px) {
  body.cpgs .cpgs-trio li { padding: 28px 32px; }
  body.cpgs .cpgs-trio li:first-child { padding-left: 0; }
  body.cpgs .cpgs-trio li + li { border-left: 1px solid rgb(255 255 255 / 0.15); }
}
body.cpgs .cpgs-trio__num { font-family: var(--cpgs-font-display); font-size: 1.5rem; font-weight: 700; line-height: 1.33; color: var(--cpgs-signal); font-variant-numeric: tabular-nums; }
body.cpgs .cpgs-trio__label { font-size: 1.125rem; font-weight: 600; line-height: 1.55; color: #fff; }
body.cpgs .cpgs-trio__detail { font-size: 0.95rem; line-height: 1.5; color: rgb(255 255 255 / 0.65); }

/* ---------- CLN phones ---------- */
body.cpgs .cpgs-devices__stage { display: flex; align-items: flex-end; justify-content: center; gap: 24px; }
body.cpgs .cpgs-phone { position: relative; flex: none; margin: 0; overflow: hidden; border: 8px solid rgb(255 255 255 / 0.15); border-radius: 2rem; background: var(--cpgs-ink); box-shadow: 0 16px 40px -24px var(--cpgs-ink); }
body.cpgs .cpgs-phone img { display: block; width: 100%; height: auto; border-radius: 1.5rem; background: var(--cpgs-soft); }
body.cpgs .cpgs-phone--lead { z-index: 1; width: 16rem; }
body.cpgs .cpgs-phone--side { width: 13rem; border-width: 7px; }
body.cpgs .cpgs-devices__toggle { display: none; }
body.cpgs .cpgs-devices__toggle button { min-height: 44px; border: 0; border-radius: 999px; background: transparent; padding: 0 20px; font-family: var(--cpgs-font); font-size: 14px; font-weight: 600; color: rgb(255 255 255 / 0.75); cursor: pointer; transition: background-color 0.2s, color 0.2s; }
body.cpgs .cpgs-devices__toggle button[aria-pressed="true"] { background: var(--cpgs-signal); color: #fff; }
@media (max-width: 639px) {
  body.cpgs .cpgs-phone { display: none; }
  body.cpgs .cpgs-phone.is-active { display: block; width: 16rem; border-width: 8px; }
  body.cpgs .cpgs-devices__toggle { display: flex; width: fit-content; margin: 24px auto 0; border: 1px solid rgb(255 255 255 / 0.2); border-radius: 999px; padding: 4px; }
}
body.cpgs .et_pb_row.cpgs-g-devices { gap: 48px; }
@media (min-width: 1024px) { body.cpgs .et_pb_row.cpgs-g-devices { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) !important; align-items: center; } }

/* ---------- Industry tiles ---------- */
body.cpgs .cpgs-itiles ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (min-width: 768px) { body.cpgs .cpgs-itiles ul { gap: 20px; } }
@media (min-width: 1024px) { body.cpgs .cpgs-itiles ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.cpgs .cpgs-itile { position: relative; display: flex; align-items: flex-end; min-height: 192px; overflow: hidden; border-radius: var(--cpgs-radius-lg); background: var(--cpgs-ink); padding: 20px; color: #fff; transition: opacity 0.2s; }
@media (min-width: 768px) { body.cpgs .cpgs-itile { padding: 24px; } }
@media (min-width: 1024px) { body.cpgs .cpgs-itile { min-height: 200px; } }
body.cpgs .cpgs-itile.cpgs-itile--lead { grid-column: span 2; min-height: 288px; }
@media (min-width: 1024px) { body.cpgs .cpgs-itile.cpgs-itile--lead { grid-row: span 2; min-height: 26rem; } }
body.cpgs .cpgs-itile:nth-child(6) { grid-column: span 2; }
@media (min-width: 1024px) { body.cpgs .cpgs-itile:nth-child(6) { grid-column: auto; } }
body.cpgs .cpgs-itile.is-link:hover { opacity: 0.95; }
body.cpgs .cpgs-itile__img { position: absolute; inset: 0; margin: 0; }
body.cpgs .cpgs-itile__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.cpgs .cpgs-itile__img::before { content: ""; position: absolute; inset: 0; z-index: 1; background: var(--cpgs-ink); opacity: 0.15; }
body.cpgs .cpgs-itile.is-shade .cpgs-itile__img::before { opacity: 0.2; }
body.cpgs .cpgs-itile__img::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; height: 66.67%; background: linear-gradient(to top, rgb(17 17 17 / 0.8), rgb(17 17 17 / 0.3) 50%, transparent); }
body.cpgs .cpgs-itile__body { z-index: 1; display: flex; width: 100%; align-items: flex-end; justify-content: space-between; gap: 12px; }
body.cpgs .cpgs-itile__icon { width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--cpgs-ic) center / contain no-repeat; mask: var(--cpgs-ic) center / contain no-repeat; }
body.cpgs .cpgs-itile--lead .cpgs-itile__icon { width: 28px; height: 28px; }
body.cpgs .cpgs-itile h3 { margin-top: 12px; font-family: var(--cpgs-font); font-size: 1rem; font-weight: 600; line-height: 1.375; color: #fff; }
@media (min-width: 768px) { body.cpgs .cpgs-itile h3 { font-size: 1.125rem; } }
body.cpgs .cpgs-itile--lead h3, body.cpgs .cpgs-itile--lead h3 { font-size: var(--cpgs-h3); }
body.cpgs .cpgs-itile h3 a { color: #fff; text-decoration: none; }
body.cpgs .cpgs-itile h3 a::after { content: ""; position: absolute; inset: 0; z-index: 3; }
body.cpgs .cpgs-itile.is-link .cpgs-itile__body::after { content: ""; flex: none; width: 20px; height: 20px; background: #fff; -webkit-mask: var(--cpgs-i-arrow-ur) center / contain no-repeat; mask: var(--cpgs-i-arrow-ur) center / contain no-repeat; }
body.cpgs .cpgs-itile:focus-within { outline: 2px solid var(--cpgs-signal); outline-offset: 2px; }
body.cpgs .cpgs-itile h3 a:focus-visible { outline: none; }

/* ---------- Coverage map ---------- */
body.cpgs .cpgs-map { display: grid; gap: 48px; }
@media (min-width: 1024px) { body.cpgs .cpgs-map { grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr); align-items: center; } }
body.cpgs .cpgs-map svg { display: block; width: 100%; height: auto; }
body.cpgs .cpgs-map path { fill: var(--cpgs-line); stroke: var(--cpgs-bg); stroke-width: 1; transition: opacity 0.2s; }
body.cpgs .cpgs-map path.is-on { fill: var(--cpgs-signal); }
body.cpgs .cpgs-map__label { font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.16em; line-height: 1.43; color: var(--cpgs-muted); }
body.cpgs .cpgs-map ul { margin-top: 20px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px 16px; border-left: 2px solid var(--cpgs-signal); padding-left: 20px; font-family: var(--cpgs-font-display); font-size: 1.125rem; font-weight: 600; line-height: 1.55; font-variant-numeric: tabular-nums; list-style: none; }
@media (min-width: 640px) { body.cpgs .cpgs-map ul { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body.cpgs .cpgs-map ul { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
body.cpgs .cpgs-map li { margin: 0; }
body.cpgs .cpgs-figline p { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 8px 32px; border-top: 1px solid var(--cpgs-line); padding-top: 24px; font-size: 0.95rem; line-height: 1.5; color: var(--cpgs-muted); }
body.cpgs .cpgs-figline strong { color: var(--cpgs-fg); font-weight: 600; font-variant-numeric: tabular-nums; }

/* ---------- Proof (home) ---------- */
body.cpgs .et_pb_row.cpgs-g-proof { gap: 48px; }
@media (min-width: 1024px) { body.cpgs .et_pb_row.cpgs-g-proof { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) !important; align-items: end; } }
body.cpgs .cpgs-proofgrid ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 2px solid var(--cpgs-fg); }
body.cpgs .cpgs-proofgrid li { border-bottom: 1px solid var(--cpgs-line); padding: 24px 16px 24px 0; }
body.cpgs .cpgs-proofgrid li:nth-child(odd) { border-right: 1px solid var(--cpgs-line); padding-right: 24px; }
body.cpgs .cpgs-proofgrid li:nth-child(even) { padding-left: 24px; }
body.cpgs .cpgs-proofgrid li p { font-family: var(--cpgs-font-display); font-size: 1.5rem; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; }
@media (min-width: 768px) { body.cpgs .cpgs-proofgrid li p { font-size: 1.875rem; } }
body.cpgs .et_pb_row.cpgs-g-cases {
  margin-top: 80px !important; padding-top: 48px !important;
  background: linear-gradient(var(--cpgs-line), var(--cpgs-line)) center top / calc(100% - 2 * var(--cpgs-gutter)) 1px no-repeat;
}
@media (min-width: 1024px) { body.cpgs .et_pb_row.cpgs-g-cases { background-size: calc(100% - 2 * var(--cpgs-gutter-lg)) 1px; } }

/* ---------- Accountability (home) ---------- */
body.cpgs .et_pb_row.cpgs-g-account { gap: 56px; }
@media (min-width: 1024px) { body.cpgs .et_pb_row.cpgs-g-account { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) !important; align-items: center; } }
body.cpgs .cpgs-intro--bold .cpgs-eyebrow { color: rgb(255 255 255 / 0.7); }
body.cpgs .cpgs-intro--bold h2 { margin-top: 24px; max-width: 36rem; font-weight: 700; line-height: 1; letter-spacing: -0.025em; }

/* ---------- CTA band ---------- */
body.cpgs .et_pb_section.cpgs-s--cta { padding: 112px 0; overflow: hidden; }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--cta { padding: 160px 0; } }
body.cpgs .et_pb_row.cpgs-g-cta { gap: 40px; }
@media (min-width: 1024px) { body.cpgs .et_pb_row.cpgs-g-cta { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) !important; align-items: end; } }
body.cpgs .cpgs-cta h2 { margin-top: 24px; max-width: 48rem; font-size: var(--cpgs-h2); font-weight: 700; line-height: 1.05; color: #fff; }
body.cpgs .cpgs-cta .cpgs-eyebrow { color: rgb(255 255 255 / 0.6); }
body.cpgs .cpgs-cta p:not(.cpgs-eyebrow) { margin-top: 32px !important; max-width: 36rem; font-size: var(--cpgs-body-l); line-height: 1.625; color: rgb(255 255 255 / 0.75); }

/* ---------- Feature row (unnumbered) ---------- */
body.cpgs .cpgs-frow ul { display: grid; gap: 40px; border-top: 1px solid var(--cpgs-line); padding-top: 40px; }
@media (min-width: 768px) { body.cpgs .cpgs-frow ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } body.cpgs .cpgs-frow--2 ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.cpgs .cpgs-frow h3 { font-family: var(--cpgs-font-display); font-size: 1.25rem; font-weight: 600; line-height: 1.4; }
body.cpgs .cpgs-frow p { margin-top: 12px; font-size: 0.95rem; line-height: 1.625; color: var(--cpgs-muted); }

/* ---------- Solutions: specialty list ---------- */
body.cpgs .cpgs-specialty__title { font-size: 1.5rem; font-weight: 600; line-height: 1.33; }
body.cpgs .cpgs-specialty ul { margin-top: 32px; display: grid; gap: 32px; border-top: 1px solid var(--cpgs-line); padding-top: 32px; }
@media (min-width: 768px) { body.cpgs .cpgs-specialty ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.cpgs .cpgs-specialty h4 { font-size: 1.25rem; font-weight: 600; line-height: 1.4; }
body.cpgs .cpgs-specialty li > p { margin-top: 12px; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-specialty .cpgs-more { margin-top: 20px; }

/* ---------- Why CPGS: comparison + metric strip ---------- */
body.cpgs .cpgs-cmp dl { margin: 0; border-top: 1px solid var(--cpgs-line); border-bottom: 1px solid var(--cpgs-line); }
body.cpgs .cpgs-cmp dl > div { display: grid; gap: 12px; padding: 24px 0; }
body.cpgs .cpgs-cmp dl > div + div { border-top: 1px solid var(--cpgs-line); }
@media (min-width: 768px) { body.cpgs .cpgs-cmp dl > div { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 40px; } }
body.cpgs .cpgs-cmp dt { font-size: 1.125rem; font-weight: 600; line-height: 1.55; }
body.cpgs .cpgs-cmp dd { margin: 0; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-mstrip dl { display: grid; gap: 32px; margin: 0; border-top: 1px solid rgb(255 255 255 / 0.2); border-bottom: 1px solid rgb(255 255 255 / 0.2); padding: 40px 0; }
@media (min-width: 640px) { body.cpgs .cpgs-mstrip dl { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.cpgs .cpgs-mstrip dl > div { display: flex; flex-direction: column; }
body.cpgs .cpgs-mstrip dd { margin: 0; font-family: var(--cpgs-font-display); font-size: 3rem; font-weight: 600; line-height: 1; color: #fff; }
body.cpgs .cpgs-mstrip dt { margin-top: 12px; font-size: 14px; line-height: 1.43; color: rgb(255 255 255 / 0.75); }
body.cpgs .cpgs-dotlist ul { gap: 24px 40px; }

/* ---------- Leadership + insights ---------- */
body.cpgs .cpgs-leaders ul { display: grid; gap: 32px; }
@media (min-width: 768px) { body.cpgs .cpgs-leaders ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body.cpgs .cpgs-leaders ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.cpgs .cpgs-leaders li { border-top: 1px solid var(--cpgs-line); padding-top: 24px; }
body.cpgs .cpgs-leaders h3 { font-size: 1.25rem; font-weight: 600; line-height: 1.4; }
body.cpgs .cpgs-leaders li > p { margin-top: 16px; font-size: 14px; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-insights .cpgs-insights__meta { display: flex; align-items: center; gap: 8px; }
body.cpgs .cpgs-insights .cpgs-insights__meta::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cpgs-signal); flex: none; }
body.cpgs .cpgs-insights h3 { font-weight: 600; }

/* ---------- Contact ---------- */
body.cpgs .et_pb_text.cpgs-notice { margin-top: 24px !important; }
body.cpgs .cpgs-notice p { max-width: 36rem; line-height: 1.625; color: var(--cpgs-muted); }
@media (min-width: 1024px) { body.cpgs .cpgs-aside--rule { border-left: 1px solid var(--cpgs-line); padding-left: 40px; } }
body.cpgs .cpgs-aside .cpgs-aside__p { margin-top: 24px; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-aside .cpgs-more { margin-top: 24px; }
body.cpgs .cpgs-aside ol li p { color: var(--cpgs-muted); }

/* ---------- Dark split sections (solution technology) ---------- */
body.cpgs .cpgs-tone-dark .cpgs-checks li { color: rgb(255 255 255 / 0.85); }

/* ---------- After-hours page (v2) ---------- */
body.cpgs .et_pb_section.cpgs-s--photohero { padding: 48px 0 !important; isolation: isolate; overflow: hidden; background-color: var(--cpgs-ink); }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--photohero { padding: 80px 0 !important; } }
body.cpgs .cpgs-s--photohero::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to right, rgb(17 17 17 / 0.9), rgb(17 17 17 / 0.6) 50%, rgb(17 17 17 / 0.15)); }
body.cpgs .cpgs-s--photohero::before { display: none; }
body.cpgs .cpgs-s--photohero .cpgs-crumbs ol, body.cpgs .cpgs-s--photohero .cpgs-crumbs [aria-current] { color: rgb(255 255 255 / 0.85); }
body.cpgs .cpgs-s--photohero .cpgs-crumbs a:hover { color: #fff; }
body.cpgs .cpgs-herotext--photo .cpgs-eyebrow { color: #fff; }
body.cpgs .cpgs-herotext--photo h1 { margin-top: 24px; max-width: 48rem; font-size: 2.5rem; font-weight: 600; line-height: 1.08; color: #fff; }
@media (min-width: 768px) { body.cpgs .cpgs-herotext--photo h1 { font-size: 3.5rem; } }
body.cpgs .cpgs-herotext--photo .cpgs-lead { margin-top: 24px; max-width: 36rem; font-size: 1.125rem; color: rgb(255 255 255 / 0.9); }
body.cpgs .cpgs-br-sm { display: none; }
@media (min-width: 640px) { body.cpgs .cpgs-br-sm { display: inline; } }
body.cpgs .et_pb_section.cpgs-s--band { padding: 40px 0; }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--band { padding: 48px 0; } }
body.cpgs .cpgs-numberbar h2 { margin-top: 12px; font-size: 1.25rem; font-weight: 600; line-height: 1.4; letter-spacing: 0; }
body.cpgs .cpgs-numberbar .cpgs-numberbar__number { margin-top: 12px !important; font-size: min(2.25rem, 9.5vw); font-weight: 600; letter-spacing: 0; line-height: 1.1; }
@media (min-width: 640px) { body.cpgs .cpgs-numberbar .cpgs-numberbar__number { font-size: 3rem; } }
body.cpgs .cpgs-numberbar__number a:hover { text-decoration: underline; text-underline-offset: 8px; color: var(--cpgs-signal); }
body.cpgs .et_pb_section.cpgs-s--ah { padding: 56px 0; }
@media (min-width: 768px) { body.cpgs .et_pb_section.cpgs-s--ah { padding: 80px 0; } }
body.cpgs .et_pb_row.cpgs-g-divided { gap: 48px; }
@media (min-width: 768px) {
  body.cpgs .et_pb_row.cpgs-g-divided { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important; gap: 80px; align-items: start; }
  body.cpgs .cpgs-g-divided > .cpgs-divided-col { border-left: 1px solid var(--cpgs-line); padding-left: 48px !important; margin-left: 0 !important; }
}
@media (min-width: 1024px) { body.cpgs .cpgs-g-divided > .cpgs-divided-col { padding-left: 48px !important; margin-left: 0 !important; } }
body.cpgs .cpgs-intro--sm h2 { margin-top: 16px; font-size: 1.875rem; font-weight: 600; line-height: 1.2; letter-spacing: 0; }
body.cpgs .cpgs-intro--sm .cpgs-lead { margin-top: 16px; font-size: 1rem; }
body.cpgs .cpgs-iconlist { margin-top: 24px !important; border-top: 1px solid var(--cpgs-line); }
body.cpgs .cpgs-iconlist li { gap: 16px; padding: 20px 0; font-size: 1rem; line-height: 1.625; }
body.cpgs .cpgs-iconlist li::before { width: 20px; height: 20px; margin-top: 2px; }
body.cpgs .cpgs-aside-notes h2 { font-size: 1.5rem; font-weight: 600; line-height: 1.33; letter-spacing: 0; }
body.cpgs .cpgs-aside-notes p { margin-top: 20px !important; font-size: 1rem; line-height: 1.625; }
body.cpgs .cpgs-danger { margin-top: 40px; padding-top: 24px; }
body.cpgs .cpgs-danger::before { width: 24px; height: 24px; }
body.cpgs .cpgs-danger h3 { margin-top: 16px; font-size: 1.25rem; line-height: 1.4; letter-spacing: 0; }
body.cpgs .cpgs-aside-notes .cpgs-danger p { margin-top: 12px !important; font-size: 1rem; }
body.cpgs .cpgs-intro--routine h2 { font-size: 1.5rem; font-weight: 600; line-height: 1.33; }
body.cpgs .cpgs-intro--routine .cpgs-lead { margin-top: 16px; max-width: 42rem; font-size: 1rem; }
body.cpgs .cpgs-intro--routine .cpgs-more { margin-top: 24px; }

/* ==========================================================================
   Header v2: desktop nav from 1280px, grouped panels, accordion mobile menu
   ========================================================================== */
body.cpgs .cpgs-header { z-index: 99; }
body.cpgs .cpgs-nav { display: none; }
@media (min-width: 1024px) { body.cpgs .cpgs-nav { display: none; } }
@media (min-width: 1280px) { body.cpgs .cpgs-nav { display: block; } }
body.cpgs .cpgs-header__actions { display: none; }
@media (min-width: 1024px) { body.cpgs .cpgs-header__actions { display: none; } }
@media (min-width: 1280px) { body.cpgs .cpgs-header__actions { display: flex; } }
body.cpgs .cpgs-burger { display: inline-flex; }
@media (min-width: 1024px) { body.cpgs .cpgs-burger { display: inline-flex; } }
@media (min-width: 1280px) { body.cpgs .cpgs-burger { display: none; } }
body.cpgs .cpgs-mnav { display: block; }
body.cpgs .cpgs-mnav[hidden] { display: none; }
@media (min-width: 1024px) { body.cpgs .cpgs-mnav:not([hidden]) { display: block !important; } }
@media (min-width: 1280px) { body.cpgs .cpgs-mnav, body.cpgs .cpgs-mnav:not([hidden]) { display: none !important; } }
body.cpgs .cpgs-header__bar { gap: 16px; }
body.cpgs .cpgs-nav > ul { gap: 4px; }
body.cpgs .cpgs-nav__link { min-height: 44px; padding: 0 12px; white-space: nowrap; }
body.cpgs .cpgs-header__utility { display: inline-flex; min-height: 44px; align-items: center; white-space: nowrap; }
body.cpgs .cpgs-header__cta { white-space: nowrap; }

body.cpgs .cpgs-mega { width: 30rem; }
body.cpgs .cpgs-mega.cpgs-mega--wide { width: 38rem; }
body.cpgs .cpgs-nav__item > .cpgs-mega.cpgs-mega--right, body.cpgs .cpgs-nav__item:last-child > .cpgs-mega, body.cpgs .cpgs-nav__item:nth-last-child(2) > .cpgs-mega { left: auto; right: 0; }
body.cpgs .cpgs-mega__groups { display: grid; gap: 8px 16px; padding: 20px; }
body.cpgs .cpgs-mega__groups.is-grouped { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.cpgs .cpgs-mega__grouplabel { margin: 0 0 8px; padding: 0 12px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; line-height: 1.33; color: var(--cpgs-muted); }
body.cpgs .cpgs-mega__list { display: grid; gap: 2px; padding: 0; margin: 0; grid-template-columns: minmax(0, 1fr); }
body.cpgs .cpgs-mega__groups:not(.is-grouped) .cpgs-mega__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
body.cpgs .cpgs-mega__link { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; border-radius: var(--cpgs-radius); padding: 10px 12px; text-decoration: none; }
body.cpgs .cpgs-mega__link.is-static { cursor: default; }
body.cpgs .cpgs-mega__link.is-static:hover { background: transparent; }
body.cpgs .cpgs-mega__link[aria-current="page"] { background: var(--cpgs-soft); }
body.cpgs .cpgs-mega__link .cpgs-tile, body.cpgs .cpgs-mnav__link .cpgs-tile { width: 36px; height: 36px; }
body.cpgs .cpgs-mega__link.is-static:hover .cpgs-tile { border-color: var(--cpgs-line); background: var(--cpgs-bg); color: var(--cpgs-signal); }
body.cpgs .cpgs-mega__text { display: block; }
body.cpgs .cpgs-mega__desc { margin-top: 2px; font-size: 0.8rem; }
body.cpgs .cpgs-mega__foot { justify-content: flex-end; padding: 16px 24px; }
body.cpgs .cpgs-mega__feature { min-height: 44px; }

/* Mobile accordion */
body.cpgs .cpgs-mnav__inner { padding-top: 16px; padding-bottom: 16px; }
body.cpgs .cpgs-mnav__top > li { padding: 0; border-top: 1px solid var(--cpgs-line); }
body.cpgs .cpgs-mnav__toplink { display: flex; width: 100%; min-height: 56px; align-items: center; justify-content: space-between; gap: 8px; border: 0; background: transparent; padding: 0; font-family: var(--cpgs-font); font-size: 18px; font-weight: 600; line-height: 1.55; color: var(--cpgs-fg); text-align: left; cursor: pointer; text-decoration: none; }
body.cpgs a.cpgs-mnav__toplink { justify-content: flex-start; }
body.cpgs .cpgs-mnav__label { display: inline-flex; align-items: center; gap: 8px; }
body.cpgs .cpgs-mnav__dot { width: 6px; height: 6px; border-radius: 999px; background: var(--cpgs-signal); flex: none; }
body.cpgs .cpgs-mnav__chev { width: 20px; height: 20px; transition: transform 0.2s; }
body.cpgs .cpgs-mnav__toggle[aria-expanded="true"] .cpgs-mnav__chev { transform: rotate(180deg); color: var(--cpgs-signal); }
body.cpgs .cpgs-mnav__section { padding-bottom: 20px; }
body.cpgs .cpgs-mnav__section[hidden] { display: none; }
body.cpgs .cpgs-mnav__groups { display: grid; gap: 16px; }
body.cpgs .cpgs-mnav__grouplabel { margin: 0 0 8px; padding: 0 12px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; line-height: 1.33; color: var(--cpgs-muted); }
body.cpgs .cpgs-mnav__list { display: grid; gap: 2px; }
body.cpgs .cpgs-mnav__link { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; border-radius: var(--cpgs-radius); padding: 10px 12px; text-decoration: none; color: var(--cpgs-fg); }
body.cpgs a.cpgs-mnav__link:hover { background: var(--cpgs-soft); }
body.cpgs .cpgs-mnav__text { display: block; }
body.cpgs .cpgs-mnav__title { display: block; font-size: 14px; font-weight: 600; line-height: 1.43; }
body.cpgs .cpgs-mnav__desc { display: block; margin-top: 2px; font-size: 0.8rem; line-height: 1.625; color: var(--cpgs-muted); }
body.cpgs .cpgs-mnav__feature { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; margin-top: 12px; padding: 0 12px; font-size: 14px; font-weight: 600; color: var(--cpgs-fg); text-decoration: none; }
body.cpgs .cpgs-mnav__feature:hover { color: var(--cpgs-signal); }
body.cpgs .cpgs-mnav__feature svg { width: 16px; height: 16px; }
body.cpgs .cpgs-mnav__actions { margin-top: 24px; padding-bottom: 8px; }
body.cpgs .cpgs-mnav__actions .is-secondary { border-color: var(--cpgs-line); }

/* ==========================================================================
   Footer v2: no contact block, a double rule above the legal line
   ========================================================================== */
body.cpgs .cpgs-footer__cols a { min-height: 44px; }
body.cpgs .cpgs-footer ul { gap: 12px; }
body.cpgs .cpgs-footer__bottom { margin-top: 56px; border-top: 1px solid rgb(255 255 255 / 0.2); padding-top: 40px; }
body.cpgs .cpgs-footer__bottom .cpgs-footer__legal { margin-top: 40px !important; }

/* ---------- Logo: pink CLN symbol + wordmark ---------- */
body.cpgs .cpgs-logo { display: inline-flex; align-items: center; gap: 0.35em; height: 32px; font-size: 16px; line-height: 1; }
@media (min-width: 768px) { body.cpgs .cpgs-logo { height: 40px; } }
body.cpgs .cpgs-header__logo .cpgs-logo svg, body.cpgs .cpgs-footer__logo .cpgs-logo svg, body.cpgs .cpgs-logo svg { display: block; width: auto; height: 100%; }
body.cpgs .cpgs-header__logo .cpgs-logo svg.cpgs-logo__symbol, body.cpgs .cpgs-footer__logo .cpgs-logo svg.cpgs-logo__symbol, body.cpgs .cpgs-logo svg.cpgs-logo__symbol { height: 78%; color: var(--cpgs-signal); }
body.cpgs .cpgs-footer__logo .cpgs-logo { height: 28px; }
@media (min-width: 768px) { body.cpgs .cpgs-footer__logo .cpgs-logo { height: 32px; } }
body.cpgs .cpgs-itile__label { min-width: 0; }

/* ---------- Fixes after comparison ---------- */
body.cpgs .cpgs-bighead h2, body.cpgs .cpgs-intro.cpgs-intro--loose h2 { line-height: 1.5; }
body.cpgs .cpgs-itile--lead h3 { line-height: 1.5; }
body.cpgs .cpgs-itile__label { min-width: auto; }
body.cpgs .et_pb_text.cpgs-itiles, body.cpgs .et_pb_text.cpgs-proofgrid, body.cpgs .et_pb_text.cpgs-std { word-wrap: normal; overflow-wrap: normal; }
body.cpgs .cpgs-proofgrid li p { font-family: var(--cpgs-font); }
@media (max-width: 1023px) {
  body.cpgs .et_pb_row.cpgs-g-intro-action .cpgs-flexcol--end > .et_pb_button_module_wrapper { flex: 1 1 100%; }
  body.cpgs .et_pb_row.cpgs-g-intro-action .cpgs-flexcol--end .cpgs-btn { width: 100%; }
}

/* ==========================================================================
   Sticky header (2.0.1). The theme header and a Theme Builder header holding
   [cpgs_header] or [cpgs_mega_menu] both stick on their own: leave Divi's
   "Sticky Position" off. The utility bar scrolls away; the main bar stays.
   ========================================================================== */
:root { --cpgs-admin-h: 0px; --cpgs-util-h: 0px; }
body.cpgs body.admin-bar { --cpgs-admin-h: 32px; }
@media (max-width: 782px) { body.cpgs body.admin-bar { --cpgs-admin-h: 46px; } }
@media (max-width: 600px) { body.cpgs body.admin-bar { --cpgs-admin-h: 0px; } }
body.cpgs .cpgs-header { position: sticky; top: calc(var(--cpgs-admin-h) - var(--cpgs-util-h)); }
body.cpgs .admin-bar .cpgs-header { top: calc(var(--cpgs-admin-h) - var(--cpgs-util-h)); }
@media (max-width: 782px) { body.cpgs .admin-bar .cpgs-header { top: calc(var(--cpgs-admin-h) - var(--cpgs-util-h)); } }
/* Inside a Theme Builder header the whole header area sticks, so the CPGS header inside it does not need to */
body.cpgs .et-l--header:has(.cpgs-menu-root) { position: sticky !important; top: calc(var(--cpgs-admin-h) - var(--cpgs-util-h)); z-index: 1000; }
body.cpgs .et-l--header .cpgs-header { position: relative; top: auto !important; }
/* Divi's own sticky clone/placeholder, in case Sticky Position was left on */
body.cpgs .et-l--header:has(.cpgs-menu-root) .et_pb_sticky_placeholder { display: none !important; }
body.cpgs .et-l--header:has(.cpgs-menu-root) .et_pb_sticky.et_pb_sticky--top { position: static !important; transform: none !important; width: auto !important; left: auto !important; }
body.cpgs #page-container, body.cpgs #et-boc, body.cpgs .et-boc { overflow: visible !important; }
