/* ===== CG Law native homepage helper styles ===== */
:root{--cg-red:#C41130;--cg-red7:#AB1A2D;--cg-red4:#D34F61;--ink:#231F20;--fg2:#4D474D;--fg3:#6B6669;--bd:#D9D6D7;--cbd:#ECEAEB;--ease:cubic-bezier(.16,1,.3,1)}
/* button rows */
.cg-btnrow .elementor-widget-wrap{display:flex;flex-direction:row;flex-wrap:wrap;gap:14px;align-items:center}
.cg-btnrow .elementor-widget{width:auto;max-width:none;margin:0}
.cg-btnrow.cg-center .elementor-widget-wrap{justify-content:center}
.cg-ghost{font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;color:var(--cg-red);border-bottom:1px solid currentColor;padding-bottom:3px;text-decoration:none;display:inline-block}
.cg-ghost:hover{color:var(--cg-red7)}
.cg-ghost.on-dark{color:#fff;border-bottom-color:rgba(255,255,255,.5)}.cg-ghost.on-dark:hover{color:var(--cg-red4)}
/* hero */
.cg-hero-h1 em{color:var(--cg-red4);font-style:normal;font-weight:inherit}
/* hero primary CTA (anchor with arrow svg) styled as .btn.btn-primary.btn-lg */
.cg-pbtn{display:inline-flex;align-items:center;gap:10px;font-family:'Poppins',sans-serif;font-weight:600;font-size:1rem;line-height:1;letter-spacing:.01em;padding:18px 32px;border-radius:2px;border:1.5px solid var(--cg-red7);background:var(--cg-red7);color:#fff;text-decoration:none;white-space:nowrap;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease)}
.cg-pbtn:hover{background:#8C0F26;border-color:#8C0F26;transform:translateY(-2px);box-shadow:0 6px 18px rgba(20,17,15,.12);color:#fff}
.cg-pbtn .arrow{transition:transform .25s var(--ease)}
.cg-pbtn:hover .arrow{transform:translateX(4px)}
.cg-hero-lead{display:block !important;width:100% !important;max-width:none !important}
.cg-hero-lead .elementor-widget-container{max-width:620px !important}
.cg-hero-lead p{color:rgba(255,255,255,.85) !important;font-size:1.2rem !important;font-weight:300 !important;margin:0;max-width:620px}
.cg-hero-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-family:'Poppins',sans-serif;font-size:14px;color:#D9D6D7;margin:0}
.cg-hero-meta strong{color:#fff}.cg-hero-meta span{opacity:.5}
/* thin cta */
.cg-thin-t{font-family:'Roboto Slab',serif;font-size:21px;font-weight:700;color:#fff}
.cg-thin-s{font-family:'Source Sans 3',sans-serif;font-size:14px;color:rgba(255,255,255,.85);margin-top:3px}
.cg-thin-act{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;justify-content:flex-end;font-family:'Poppins',sans-serif}
.cg-thin-ph{color:#fff;font-weight:600;font-size:16px;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.cg-thin-ph svg{width:18px;height:18px}
.cg-thin-btn{background:#fff;color:var(--cg-red);font-weight:600;padding:11px 22px;border-radius:6px;text-decoration:none;font-size:14px}
/* about */
.cg-about-visual .elementor-element-populated{position:relative;border-radius:8px;overflow:hidden;min-height:460px}
.cg-about-visual{border-radius:8px;overflow:hidden}
.cg-aboutstat-wrap{position:absolute;left:24px;bottom:24px;margin:0}
.cg-aboutstat{background:var(--cg-red);color:#fff;padding:18px 22px;border-radius:8px;box-shadow:0 18px 40px rgba(20,17,15,.25)}
.cg-aboutstat .n{font-family:'Roboto Slab',serif;font-size:40px;font-weight:700;line-height:1}
.cg-aboutstat .l{font-family:'Poppins',sans-serif;font-size:12px;max-width:150px;margin-top:6px;opacity:.95}
.cg-checks .elementor-icon-list-items{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.cg-checks .elementor-icon-list-text{color:var(--ink);font-family:'Source Sans 3',sans-serif;font-size:.92rem}
/* awards marquee */
.cg-awards .elementor-widget-container{overflow:hidden}
.cg-awards-scroll{overflow:hidden}
.cg-awards-track{display:flex;gap:56px;align-items:center;animation:cgscroll 45s linear infinite;width:max-content}
.cg-awards:hover .cg-awards-track{animation-play-state:paused}
.cg-award{display:flex;gap:16px;align-items:center;white-space:nowrap;color:rgba(255,255,255,.55)}
.cg-award .mk{width:46px;height:46px;flex-shrink:0;border:1.5px solid rgba(255,255,255,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--cg-red4);font-size:20px}
.cg-award .an{font-family:'Roboto Slab',serif;font-weight:700;font-size:1.05rem;line-height:1.2;display:block}
.cg-award .as{display:block;font-family:'Poppins',sans-serif;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.4);margin-top:3px}
@keyframes cgscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* section eyebrow as inline-block */
.cg-sec .elementor-widget-heading .elementor-heading-title{display:block}
/* cards generic */
.cg-card > .elementor-element-populated{height:100%;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.cg-card:hover > .elementor-element-populated{transform:translateY(-3px);box-shadow:0 6px 18px rgba(20,17,15,.08);border-color:var(--cg-red)}
/* services card */
.cg-svc-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.cg-svc-items li{font-family:'Source Sans 3',sans-serif;font-size:13px;color:var(--fg2);line-height:1.35;padding-left:12px;position:relative}
.cg-svc-items li::before{content:'';position:absolute;left:0;top:.5em;width:4px;height:4px;border-radius:50%;background:var(--cg-red4)}
.cg-svc-link{font-family:'Poppins',sans-serif;font-weight:600;font-size:13px;color:var(--cg-red7);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
/* usp dark */
.cg-usp-grid > .elementor-container{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:1px !important;background:rgba(255,255,255,.08) !important;flex-wrap:nowrap !important}
.cg-usp{width:auto !important;max-width:none !important}
.cg-usp > .elementor-element-populated{background:#14110F !important;padding:32px 28px !important;height:100%}
.cg-usp .elementor-widget-wrap{text-align:left !important;align-items:flex-start !important}
.cg-usp .cg-usp-ico,.cg-usp .cg-usp-ico .elementor-widget-container,.cg-usp .cg-usp-ico .elementor-icon-wrapper{text-align:left !important}
.cg-usp .cg-usp-ico .elementor-icon{justify-content:flex-start}
.cg-usp .elementor-widget{text-align:left}
@media(max-width:1024px){.cg-usp-grid > .elementor-container{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:600px){.cg-usp-grid > .elementor-container{grid-template-columns:1fr !important}}
/* team card */
.cg-mcard > .elementor-element-populated{padding:0 !important;overflow:hidden}
.cg-mph img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:center top}
.cg-m-role .elementor-heading-title{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.cg-m-title p{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}
.cg-m-link{font-family:'Poppins',sans-serif;font-weight:600;font-size:.78rem;color:var(--cg-red);text-decoration:none;display:block;margin-top:14px;padding-top:14px;border-top:1px solid var(--bd)}
/* process */
.cg-process{position:relative}
.cg-process > .elementor-container::before{content:'';position:absolute;top:32px;left:6%;right:6%;height:1px;background:rgba(255,255,255,.2);z-index:0}
.cg-step{z-index:1}
.cg-dot{width:64px;height:64px;border-radius:50%;background:#14110F;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-family:'Roboto Slab',serif;font-weight:700;font-size:24px;color:#fff}
/* testimonials */
.cg-stars{color:#E8A93C;letter-spacing:2px}
.cg-rating{display:flex;gap:8px;align-items:center;font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;color:var(--ink)}
.cg-testi{position:relative}
.cg-testi > .elementor-element-populated{position:relative}
.cg-testi > .elementor-element-populated::before{content:'\201C';position:absolute;top:6px;right:18px;font-family:'Roboto Slab',serif;font-size:5rem;line-height:1;color:var(--cg-red);opacity:.13}
.cg-testi .cg-stars{font-size:.95rem;letter-spacing:3px}
.cg-quote{font-family:'Source Sans 3',sans-serif;font-style:italic;font-weight:300;font-size:1.0625rem;line-height:1.55;color:var(--ink);margin:14px 0 0}
.cg-author{display:flex;gap:12px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--cbd)}
.cg-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Roboto Slab',serif;font-weight:700;font-size:1rem;flex-shrink:0}
.cg-avatar.av1{background:linear-gradient(135deg,#0D5380,#0A3556)}.cg-avatar.av2{background:linear-gradient(135deg,#3A363A,#14110F)}.cg-avatar.av3{background:linear-gradient(135deg,#AB1A2D,#6E0A1C)}.cg-avatar.av4{background:linear-gradient(135deg,#0D5380,#0A3556)}
.cg-author .nm{font-family:'Poppins',sans-serif;font-weight:700;font-size:.92rem;color:var(--ink);margin:0}
.cg-author .mt{font-family:'Poppins',sans-serif;font-weight:500;font-size:.78rem;color:var(--fg3);margin:0}
/* stats */
.cg-counter .elementor-counter-number-wrapper{font-family:'Roboto Slab',serif !important;font-weight:700;color:var(--cg-red4);line-height:1}
.cg-counter .elementor-counter-title{margin-top:8px}
/* industries */
.cg-ind-card .elementor-widget-text-editor p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* faq dark accordion */
.cg-faq .elementor-accordion-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12) !important;margin-bottom:12px}
.cg-faq .elementor-tab-title{padding:22px 28px;display:flex;align-items:center;border:0 !important}
.cg-faq .elementor-tab-title .elementor-accordion-icon{order:2;margin-left:auto;margin-right:0}
.cg-faq .elementor-tab-content{padding:0 28px 24px;border:0 !important}
/* FAQ Q-number label: red-400, wide tracking, 32px reservation, 20px gap before question */
.cg-faq .elementor-tab-title .elementor-accordion-title{display:flex;align-items:center;gap:20px;flex:1;min-width:0}
.cg-faq .cg-qnum{font-family:'Poppins',sans-serif;font-weight:600;font-size:.75rem;letter-spacing:.16em;color:var(--cg-red4) !important;flex-shrink:0;min-width:32px;line-height:1.3}
.cg-faq .cg-qtxt{flex:1;min-width:0}
/* locations tabs */
.cg-loctabs .elementor-tabs-wrapper{border-bottom:1px solid var(--bd)}
.cg-loctabs .elementor-tab-title{padding:18px 28px 16px;color:var(--fg3);border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent !important}
.cg-loctabs .elementor-tab-title.elementor-active{color:var(--cg-red);border-bottom-color:var(--cg-red)}
.cg-loctabs .elementor-tabs-wrapper .elementor-tab-title{display:inline-flex !important;align-items:center;gap:8px}
.cg-loctabs .elementor-tabs-wrapper .elementor-tab-title a{display:inline-flex !important;align-items:center;gap:8px}
/* hide the in-content responsive (mobile) tab titles on desktop */
.cg-loctabs .elementor-tabs-content-wrapper > .elementor-tab-title{display:none !important}
@media(max-width:767px){.cg-loctabs .elementor-tabs-content-wrapper > .elementor-tab-title{display:block !important}.cg-loctabs .elementor-tabs-wrapper{display:none !important}}
.cg-tabpin{display:inline-flex;align-items:center}
.cg-tabpin svg{width:16px;height:16px;color:var(--fg3);stroke:currentColor;fill:none}
.cg-loctabs .elementor-tab-title.elementor-active .cg-tabpin svg{color:var(--cg-red)}
.cg-loctabs .elementor-tab-content{padding:48px 0 0;border:0 !important}
.cg-loc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:48px;align-items:stretch}
.cg-loc-info .city{font-family:'Poppins',sans-serif;font-weight:600;letter-spacing:.22em;font-size:.78rem;text-transform:uppercase;color:var(--cg-red);margin-bottom:16px;display:block}
.cg-loc-info h3{font-family:'Roboto Slab',serif;font-size:1.75rem;margin:0 0 6px;color:var(--ink)}
.cg-loc-info .addr{font-style:normal;color:var(--fg2);line-height:1.7;display:block;margin-bottom:24px}
.cg-loc-list{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:14px}
.cg-loc-list li{display:flex;gap:14px;align-items:flex-start;font-size:.95rem;color:var(--ink)}
.cg-loc-list li svg{width:18px;height:18px;color:var(--cg-red);flex-shrink:0;margin-top:2px}
.cg-loc-list li a{color:var(--ink);border-bottom:1px solid var(--bd);padding-bottom:1px;text-decoration:none}
.cg-loc-list li small{display:block;color:var(--fg3);font-size:.72rem;letter-spacing:.16em;margin-bottom:6px;text-transform:uppercase;font-family:'Poppins',sans-serif;font-weight:700}
.cg-loc-cta{margin-top:32px}
.cg-loc-btn{font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;background:var(--cg-red7);color:#fff;padding:14px 26px;border-radius:2px;text-decoration:none;display:inline-block}
.cg-loc-map{background:#F6F5F4;border:1px solid var(--bd);position:relative;overflow:hidden;min-height:420px;border-radius:4px}
.cg-loc-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.9)}
.cg-map-label{position:absolute;bottom:20px;left:20px;background:#fff;border:1px solid var(--bd);padding:14px 18px;display:flex;gap:12px;align-items:center;box-shadow:0 2px 6px rgba(20,17,15,.06)}
.cg-map-label svg{width:18px;height:18px;color:var(--cg-red)}.cg-map-label strong{font-family:'Poppins',sans-serif;font-weight:700;font-size:.85rem;display:block}.cg-map-label span{font-size:.75rem;color:var(--fg3)}
/* blog */
.cg-blog-head .elementor-container{align-items:flex-end}
.cg-blog-cta .elementor-widget-wrap{justify-content:flex-end;display:flex}
.cg-post > .elementor-element-populated{height:100%;display:flex;flex-direction:column;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.cg-post:hover > .elementor-element-populated{transform:translateY(-3px);box-shadow:0 6px 18px rgba(20,17,15,.08)}
.cg-post-img{display:block;aspect-ratio:16/10;overflow:hidden;position:relative;background:#231F20}
.cg-post-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.cg-post:hover .cg-post-img img{transform:scale(1.04)}
.cg-post-img .cat{position:absolute;top:14px;left:14px;background:#fff;color:var(--cg-red);font-family:'Poppins',sans-serif;font-weight:600;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;z-index:2;border:1px solid var(--bd)}
.cg-post-meta{margin:0}
.cg-readmore{font-family:'Poppins',sans-serif;font-weight:600;font-size:.85rem;color:var(--cg-red);text-decoration:none}
.cg-readbtn{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-weight:600;font-size:.85rem;color:var(--ink);background:transparent;border:1.5px solid var(--ink);border-radius:2px;padding:10px 18px;text-decoration:none;line-height:1;transition:background .2s var(--ease),color .2s var(--ease)}
.cg-readbtn:hover{background:var(--ink);color:#fff}
/* close cta */
.cg-closecta{position:relative;overflow:hidden}
.cg-closecta::before{content:'';position:absolute;top:0;right:-100px;width:540px;height:100%;background:linear-gradient(135deg,#8C0F26,#6E0A1C);transform:skewX(-12deg);opacity:.95;z-index:0}
.cg-closecta > .elementor-container{position:relative;z-index:2}
.cg-cta-h2 em{font-style:normal;color:var(--cg-red4)}
.cg-cta-phone{display:inline-flex;align-items:center;gap:10px;font-family:'Poppins',sans-serif;font-weight:600;font-size:1rem;color:#fff;border:1.5px solid #fff;padding:16px 30px;border-radius:2px;text-decoration:none}
.cg-cta-phone svg{width:18px;height:18px}
.cg-cta-benefits{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:28px}
.cg-cta-benefits span{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-size:.85rem;color:rgba(255,255,255,.75)}
.cg-cta-benefits svg{color:var(--cg-red4)}
.cg-ctaform .elementor-field-group-phone .elementor-field-label::after,
.cg-ctaform .elementor-field-group-message .elementor-field-label::after{content:" (optional)";text-transform:none;font-weight:400;font-size:.9em;opacity:.65;letter-spacing:0}
.cg-ctaform .elementor-field{background:rgba(0,0,0,.3) !important;border:1px solid rgba(255,255,255,.14) !important;color:#fff !important;border-radius:2px}
.cg-ctaform .elementor-field::placeholder{color:rgba(255,255,255,.4)}
.cg-ctaform select.elementor-field option{color:#231F20}
.cg-ctaform .elementor-button{width:100%;justify-content:center;align-items:center;gap:10px;background:var(--cg-red7)}
.cg-ctaform .elementor-button .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:10px}
.cg-ctaform .elementor-button .elementor-button-text::after{content:"";display:inline-block;width:16px;height:16px;margin-left:10px;vertical-align:middle;background-color:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 5l7 7-7 7'/></svg>") no-repeat center / contain;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 5l7 7-7 7'/></svg>") no-repeat center / contain;transition:transform .25s var(--ease)}
.cg-ctaform .elementor-button:hover .elementor-button-text::after{transform:translateX(4px)}
/* responsive */
@media(max-width:1024px){.cg-loc{grid-template-columns:1fr;gap:32px}.cg-process > .elementor-container::before{display:none}}
@media(max-width:768px){.cg-closecta::before{display:none}.cg-checks .elementor-icon-list-items{grid-template-columns:1fr}}
/* carousel mechanics */
.cg-car{position:relative;overflow:hidden}
.cg-car.cg-car-ready > .elementor-container{flex-wrap:nowrap !important;gap:24px !important;transition:transform .45s cubic-bezier(.16,1,.3,1);will-change:transform;justify-content:flex-start !important}
.cg-car.cg-car-ready > .elementor-container > .elementor-column{padding-left:0 !important;padding-right:0 !important}
.cg-car-controls{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:32px;width:100% !important;flex:0 0 100% !important}
.cg-car-prog{flex:1;height:2px;background:#D9D6D7;position:relative;overflow:hidden;margin-right:24px;max-width:240px}
.cg-car-bar{position:absolute;top:0;left:0;height:100%;background:#C41130;transition:left .45s cubic-bezier(.16,1,.3,1),width .45s cubic-bezier(.16,1,.3,1)}
.cg-car-btn{width:48px;height:48px;border:1.5px solid #D9D6D7;display:inline-flex;align-items:center;justify-content:center;border-radius:2px;color:#231F20;background:#fff;cursor:pointer;transition:all .2s}
.cg-car-btn:hover:not(:disabled){background:#AB1A2D;border-color:#AB1A2D;color:#fff}
.cg-car-btn:disabled{opacity:.3;cursor:not-allowed}.cg-car-btn svg{width:18px;height:18px}
/* exact outline SVG icons */
.cg-ico-red .elementor-icon svg{stroke:#C41130 !important;fill:none !important}
.cg-usp-ico .elementor-icon svg{stroke:#D34F61 !important;fill:none !important;width:36px !important;height:36px !important}
.elementor-widget-icon .elementor-icon svg{stroke-width:1.5}
.cg-award .mk svg{width:22px;height:22px;stroke:currentColor;fill:none}
/* tighten stacked paragraph margins to match source rhythm */
.elementor-page-226 .elementor-widget-text-editor p:first-child{margin-top:0}
.elementor-page-226 .elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-page-226 .elementor-widget{margin-bottom:0}
/* ABOUT corrections — match source exactly */
.cg-about > .elementor-container > .elementor-column:first-child > .elementor-element-populated{position:relative !important;min-height:100%;padding:0}
.cg-aboutstat-wrap{position:absolute !important;left:24px !important;right:24px !important;bottom:24px !important;top:auto !important;margin:0 !important;width:auto !important;z-index:2}
.cg-aboutstat{background:rgba(20,17,15,.85) !important;border-left:3px solid #C41130;border-radius:0 !important;padding:20px 24px !important;box-shadow:none !important}
.cg-aboutstat .n{font-family:'Roboto Slab',serif;font-size:2.75rem !important;font-weight:700;color:#fff;line-height:1;margin-bottom:6px}
.cg-aboutstat .l{font-family:'Poppins',sans-serif;font-weight:600;font-size:.78rem !important;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7) !important;max-width:none !important;margin-top:0}
.cg-about-text > .elementor-element-populated{padding-left:40px}
.cg-checks .elementor-icon-list-text{font-weight:600 !important}
/* about image column must fill height so badge anchors bottom */
.cg-about > .elementor-container{align-items:stretch !important}
.cg-about > .elementor-container > .elementor-column:first-child > .elementor-element-populated{position:relative !important;height:100% !important;min-height:460px !important;padding:0 !important}
/* position the badge via its content class (widget css_class unreliable) */
.cg-about-visual > .elementor-element-populated{position:relative !important}
.cg-about-visual .cg-aboutstat{position:absolute !important;left:24px;right:24px;bottom:24px;top:auto !important;z-index:3}
/* about image as real Image widget driving height */
.cg-about-visual > .elementor-element-populated{position:relative !important;padding:0 !important;height:100%}
.cg-about-img,.cg-about-img .elementor-widget-container{height:100%}
.cg-about-img img{width:100%;height:100%;min-height:500px;object-fit:cover;object-position:center 28%;display:block;border-radius:4px}
.cg-about-visual .cg-aboutstat{position:absolute !important;left:24px;right:24px;bottom:24px;top:auto !important;z-index:3}
/* ===== AUTHORITATIVE ABOUT (overrides all earlier about rules) ===== */
.cg-about > .elementor-container{align-items:stretch !important}
.cg-about-visual > .elementor-element-populated{position:relative !important;height:100% !important;min-height:0 !important;padding:0 !important;overflow:hidden !important;border-radius:4px}
.cg-about-img,.cg-about-img > .elementor-widget-container{height:100% !important}
.cg-about-img img{display:block !important;width:100% !important;height:100% !important;min-height:440px !important;object-fit:cover !important;object-position:center 28% !important;border-radius:0 !important}
.cg-aboutstat-wrap{position:absolute !important;left:24px !important;right:24px !important;bottom:24px !important;top:auto !important;margin:0 !important;width:auto !important;height:auto !important;z-index:5}
.cg-aboutstat{position:static !important;background:rgba(20,17,15,.85) !important;border-left:3px solid #C41130 !important;border-radius:0 !important;padding:20px 24px !important;box-shadow:none !important}
.cg-aboutstat .n{font-size:2.75rem !important;color:#fff !important;font-family:'Roboto Slab',serif !important;font-weight:700;line-height:1;margin-bottom:6px}
.cg-aboutstat .l{font-size:.78rem !important;color:rgba(255,255,255,.7) !important;max-width:none !important;text-transform:uppercase;letter-spacing:.18em;font-family:'Poppins',sans-serif !important;font-weight:600}
/* badge debug + stacking */
.cg-about-visual > .elementor-element-populated{overflow:visible !important}
.cg-about-img{position:relative !important;z-index:1 !important}
.cg-aboutstat-wrap{z-index:50 !important}
.cg-aboutstat{outline:3px solid #39FF14 !important}
/* ===== ABOUT v2 — flexbox anchored badge (final) ===== */
.cg-aboutstat{outline:none !important}
.cg-about-visual > .elementor-element-populated{position:relative !important;display:flex !important;flex-direction:column !important;min-height:460px !important;height:100% !important;overflow:hidden !important;border-radius:4px;padding:0 !important}
.cg-about-img{position:absolute !important;inset:0 !important;z-index:1 !important;height:100% !important;width:100% !important;margin:0 !important}
.cg-about-img > .elementor-widget-container,.cg-about-img img{height:100% !important;width:100% !important}
.cg-about-img img{object-fit:cover !important;object-position:center 28% !important;min-height:0 !important;border-radius:0 !important}
.cg-aboutstat-wrap{position:relative !important;z-index:3 !important;margin:0 24px 24px 24px !important;margin-top:auto !important;left:auto !important;right:auto !important;bottom:auto !important;top:auto !important;width:auto !important;height:auto !important;align-self:stretch !important}
.cg-aboutstat-wrap .elementor-widget-container{width:100%}
.cg-aboutstat{display:block !important}
.cg-aboutstat .l{max-width:none !important;white-space:nowrap}
/* stats row divider (matches .stats-row border-top) */
.cg-stats > .elementor-container{border-top:1px solid rgba(255,255,255,.12) !important;padding-top:40px !important}
.cg-counter .elementor-counter-number-wrapper>span{font-size:56px !important}
/* stats left-aligned (matches .stats-row default left alignment) */
.cg-stats .elementor-widget-counter,.cg-stats .elementor-widget-heading,.cg-stats .elementor-widget-text-editor,
.cg-stats .elementor-widget-counter *,.cg-stats .elementor-widget-heading *{text-align:left !important}
.cg-stats .elementor-counter{align-items:flex-start !important;text-align:left !important}
.cg-stats .elementor-counter-number-wrapper{justify-content:flex-start !important;text-align:left !important}
.cg-stats .elementor-counter-title{text-align:left !important}
.cg-stats .cg-counter .elementor-heading-title,.cg-stats .elementor-heading-title{text-align:left !important}
/* hero gradient overlay (matches --hero-overlay) */
.cg-hero > .elementor-background-overlay{background:linear-gradient(180deg,rgba(20,17,15,.78) 0%,rgba(20,17,15,.55) 50%,rgba(20,17,15,.82) 100%) !important;opacity:1 !important}
/* thin CTA exact (red-700 bg, Roboto Slab underlined phone, red-700 btn text) */
.cg-thin-t{font-size:22px !important}
.cg-thin-ph{font-family:'Roboto Slab',serif !important;font-weight:700 !important;font-size:20px !important;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px}
.cg-thin-ph svg{width:20px;height:20px}
.cg-thin-btn{color:#AB1A2D !important}
/* 2-column section head (services / team): eyebrow full, H2 left / lead right, 48px gap */
.cg-head2 > .elementor-container{gap:0 48px !important;align-items:start !important;flex-wrap:nowrap !important}
.cg-head2 .cg-lead2,.cg-head2 .elementor-widget-text-editor{padding-top:6px}
/* container-wide gutter: boxed top sections = 1320 max-width + 32px gutter -> content edge x=92 @1440 */
.elementor-page-226 .elementor-top-section.elementor-section-boxed > .elementor-container{padding-left:32px !important;padding-right:32px !important}
/* narrow sections (about/faq/contact) use .container = 1200 + 32px gutter -> content edge x=152 @1440 */
.elementor-page-226 .cg-narrow.elementor-section-boxed > .elementor-container{max-width:1200px !important}
/* remove Elementor's default 10px column padding at the outer content edges so content is flush to the 32px gutter (matches design: no extra inset). Inter-column gaps in 2-col sections are preserved. */
.elementor-page-226 .elementor-top-section > .elementor-container > .elementor-top-column:first-child > .elementor-element-populated{padding-left:0 !important}
.elementor-page-226 .elementor-top-section > .elementor-container > .elementor-top-column:last-child > .elementor-element-populated{padding-right:0 !important}
/* header search/menu icon button (base .icon-btn rule missing from clone css) */
.icon-btn{width:37px;height:37px;border-radius:3px;display:inline-flex !important;align-items:center !important;justify-content:center !important;border:1px solid var(--cbd);color:var(--ink)}
.icon-btn:hover{border-color:var(--cg-red);color:var(--cg-red)}
.icon-btn svg{width:18px !important;height:18px !important;display:block;flex:none}
.search-pop form svg{width:20px;height:20px}
/* hide mobile hamburger toggle at desktop (base .menu-toggle{display:none} missing from clone css) */
.menu-toggle{display:none !important}
@media(max-width:820px){.menu-toggle{display:inline-flex !important}}

/* ===== ROUND 4 FIXES ===== */
/* (R4-2) Section H2 size: match design h2{font-size:clamp(1.875rem,3vw,3rem)} so 'Lorem ipsum dolor sit amet' measures ~549px, not ~596px */
.elementor-page-226 .cg-sec > .elementor-container > .elementor-column > .elementor-element-populated > .elementor-widget-wrap > .elementor-widget-heading h2.elementor-heading-title,
.elementor-page-226 .cg-about .elementor-widget-heading h2.elementor-heading-title,
.elementor-page-226 .cg-closecta .elementor-widget-heading h2.elementor-heading-title{
  font-size:clamp(1.875rem,3vw,3rem) !important;line-height:1.2 !important;
}
/* (R4-1) Service card icon must be left-aligned (flush left like title + bullets), not centred */
.cg-svc-card .cg-ico-red,
.cg-svc-card .cg-ico-red .elementor-widget-container,
.cg-svc-card .cg-ico-red .elementor-icon-wrapper{text-align:left !important}
.cg-svc-card .cg-ico-red .elementor-icon{justify-content:flex-start !important;display:flex !important}
/* (FQ1-3) Remove extra height the Elementor icon wrapper adds beyond the 30x30 icon + 14px margin.
   Design: .svc-card-ico{height:30px;margin-bottom:14px} so title sits ~14px below the icon. */
.cg-svc-card .cg-ico-red .elementor-widget-container{line-height:0}
.cg-svc-card .cg-ico-red .elementor-icon-wrapper,
.cg-svc-card .cg-ico-red .elementor-icon{line-height:0 !important}
.cg-svc-card .cg-ico-red .elementor-icon{height:30px !important;align-items:flex-start !important}
.cg-svc-card .cg-ico-red .elementor-icon svg{width:30px !important;height:30px !important;display:block}
/* (R5-1) Industry/Expertise card icon must be left-aligned (flush with title left edge), not centred.
   Design .ind-cell is display:flex;flex-direction:column with no align-items:center; .ind-cell .ico sits at left padding. */
.cg-ind-card .cg-ico-red,
.cg-ind-card .cg-ico-red .elementor-widget-container,
.cg-ind-card .cg-ico-red .elementor-icon-wrapper{text-align:left !important}
.cg-ind-card .cg-ico-red .elementor-icon{justify-content:flex-start !important;display:flex !important}
/* (R4-3) Hero: tighten internal vertical gaps so CTA buttons sit ~57px higher and red bar begins ~77px higher.
   Design: .hero-inner padding 56px; .hero-ctas margin-top:32px; .hero-meta margin-top:28px. Remove Elementor's
   default 10px column padding + collapse extra inner-section padding that inflate hero height. */
.cg-hero-col > .elementor-element-populated{padding-top:0 !important;padding-bottom:0 !important}
.cg-btnrow-sec.elementor-inner-section > .elementor-container{padding-top:0 !important;padding-bottom:0 !important}
.cg-btnrow-sec .elementor-element-populated{padding-top:0 !important;padding-bottom:0 !important}
/* (R4-4) Thin CTA red bar height: design .thin-cta .container-wide padding 20px top/bottom -> ~99px band.
   Strip Elementor column padding so only the 20px section padding governs the band height. */
.cg-thin > .elementor-container > .elementor-column > .elementor-element-populated{padding-top:0 !important;padding-bottom:0 !important}
/* (R4-5) Section vertical padding & internal spacing: kill Elementor's default 10px column inset (top/bottom)
   on top-level section columns so vertical rhythm equals the design's 80px section padding (no accumulation). */
.elementor-page-226 .cg-sec > .elementor-container > .elementor-top-column > .elementor-element-populated,
.elementor-page-226 .cg-about > .elementor-container > .elementor-top-column > .elementor-element-populated,
.elementor-page-226 .cg-closecta > .elementor-container > .elementor-top-column > .elementor-element-populated{padding-top:0 !important;padding-bottom:0 !important}
/* services card bullet list gap = design .svc-card-items{gap:5px} */
.cg-svc-items{gap:5px !important}
/* (R4-6) Contact form confidentiality footnote (.friction): lock icon + reassurance line beneath submit */
.cg-friction{margin-top:14px;font-size:.78rem;color:rgba(255,255,255,.55);display:flex;gap:8px;align-items:flex-start;line-height:1.5;font-family:'Source Sans 3',sans-serif}
.cg-friction svg{width:14px;height:14px;flex-shrink:0;margin-top:3px;color:var(--cg-red4)}
