/* XCM 4.3 — Shared components. */
.xcm-contact-panel-inner>*{min-width:0}
.xcm-btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.xcm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border:1px solid transparent;border-radius:999px;font-weight:750;line-height:1.2;text-align:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease;text-decoration:none!important;white-space:normal}
.xcm-btn:hover{transform:translateY(-2px);text-decoration:none!important}
.xcm-btn-primary{background:var(--xcm-red);color:var(--xcm-white)!important;box-shadow:0 16px 34px rgba(177,18,38,.25)}
.xcm-btn-primary:hover{background:var(--xcm-red-dark);color:var(--xcm-white)!important}
.xcm-btn-dark{background:var(--xcm-navy);color:var(--xcm-white)!important;box-shadow:0 16px 34px rgba(7,17,31,.2)}
.xcm-btn-dark:hover{background:#000814;color:var(--xcm-white)!important}
.xcm-btn-light{background:var(--xcm-white);color:var(--xcm-navy)!important;border-color:rgba(7,17,31,.08);box-shadow:var(--xcm-shadow-sm)}
.xcm-btn-light:hover{border-color:rgba(177,18,38,.2);color:var(--xcm-red)!important}
.xcm-btn-outline{background:transparent;color:var(--xcm-navy)!important;border-color:rgba(7,17,31,.18)}
.xcm-btn-outline:hover{border-color:var(--xcm-red);color:var(--xcm-red)!important}
.xcm-section-dark .xcm-btn-outline{color:var(--xcm-white)!important;border-color:rgba(255,255,255,.34)}
.xcm-section-dark .xcm-btn-outline:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.72);color:var(--xcm-white)!important}
.xcm-btn-wide{width:100%}
.xcm-phone-pill{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 16px;border-radius:999px;background:rgba(177,18,38,.1);color:var(--xcm-red)!important;font-weight:750;text-decoration:none!important}
.xcm-phone-pill:hover{background:var(--xcm-red);color:var(--xcm-white)!important}
.xcm-badge{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 10px;border:1px solid rgba(177,18,38,.18);border-radius:999px;background:rgba(177,18,38,.09);color:var(--xcm-red);font-size:.82rem;font-weight:750;line-height:1.2}
.xcm-card{position:relative;overflow:hidden;padding:clamp(20px,2.6vw,30px);border:1px solid var(--xcm-line);border-radius:var(--xcm-radius-lg);background:var(--xcm-white);box-shadow:var(--xcm-shadow-sm)}
.xcm-card:hover{box-shadow:var(--xcm-shadow)}
.xcm-card-dark{border-color:rgba(255,255,255,.12);background:linear-gradient(145deg,var(--xcm-navy),var(--xcm-navy-2));color:var(--xcm-white)}
.xcm-card-dark .xcm-muted,.xcm-card-dark p{color:rgba(255,255,255,.76)}
.xcm-card-accent{border-top:4px solid var(--xcm-red)}
.xcm-icon-box{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;border-radius:14px;background:rgba(177,18,38,.1);color:var(--xcm-red);font-weight:750}
.xcm-feature-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.xcm-feature-list li{position:relative;margin:0;padding-left:30px}
.xcm-feature-list li::before{content:"";position:absolute;left:0;top:.48em;width:16px;height:16px;border-radius:50%;background:var(--xcm-red);box-shadow:inset 0 0 0 4px rgba(255,255,255,.72)}
.xcm-section-dark .xcm-feature-list li::before,.xcm-card-dark .xcm-feature-list li::before{box-shadow:inset 0 0 0 4px rgba(7,17,31,.55)}
.xcm-trustbar{position:relative;z-index:3;margin-top:-34px}
.xcm-trustbar-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid var(--xcm-line);border-radius:var(--xcm-radius-lg);background:var(--xcm-white);box-shadow:var(--xcm-shadow)}
.xcm-trust-item{padding:20px;border-right:1px solid var(--xcm-line)}
.xcm-trust-item:last-child{border-right:0}
.xcm-trust-item strong{display:block;color:var(--xcm-navy);font-size:1rem;line-height:1.25}
.xcm-trust-item span{display:block;margin-top:6px;color:var(--xcm-muted);font-size:.9rem;line-height:1.45}
.xcm-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--xcm-space-4)}
.xcm-metric{padding:24px;border:1px solid var(--xcm-line);border-radius:var(--xcm-radius-lg);background:var(--xcm-white);box-shadow:var(--xcm-shadow-sm)}
.xcm-metric-num{display:block;color:var(--xcm-red);font-size:clamp(1.75rem,3vw,3rem);font-weight:750;line-height:1;letter-spacing:-.04em}
.xcm-metric-label{display:block;margin-top:8px;color:var(--xcm-muted);line-height:1.35}
.xcm-alert-strip{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border-left:5px solid var(--xcm-red);border-radius:var(--xcm-radius);background:rgba(177,18,38,.07)}
.xcm-alert-strip strong{color:var(--xcm-navy)}
.xcm-price{color:var(--xcm-red);font-weight:750}
.xcm-contact-panel{overflow:hidden;border-radius:var(--xcm-radius-xl);background:radial-gradient(circle at 88% 12%,rgba(177,18,38,.25),transparent 32%),linear-gradient(135deg,var(--xcm-navy),var(--xcm-navy-2));color:var(--xcm-white);box-shadow:var(--xcm-shadow-strong)}
.xcm-contact-panel-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:0}
.xcm-contact-copy{padding:clamp(26px,4vw,52px)}
.xcm-contact-box{padding:clamp(24px,3vw,38px);background:rgba(255,255,255,.08)}
.xcm-contact-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.xcm-contact-list li{margin:0;padding:14px 16px;border:1px solid rgba(255,255,255,.13);border-radius:var(--xcm-radius);background:rgba(255,255,255,.065)}
.xcm-contact-list a{color:var(--xcm-white);font-weight:750;text-decoration:none}
.xcm-contact-list a:hover{color:#FFDCE2}
.xcm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.xcm-field label,.xcm-field-label{display:block;margin-bottom:6px;color:var(--xcm-navy);font-size:.9rem;font-weight:750;line-height:1.25}
.xcm-field input,.xcm-field select,.xcm-field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--xcm-line);border-radius:12px;background:var(--xcm-white);color:var(--xcm-ink);font-size:16px;line-height:1.35;box-shadow:none}
.xcm-field textarea{min-height:116px;resize:vertical}
.xcm-field input:focus,.xcm-field select:focus,.xcm-field textarea:focus{border-color:rgba(177,18,38,.55);outline:3px solid rgba(177,18,38,.13)}
.xcm-contact-card{padding:24px;border:1px solid var(--xcm-line);border-radius:var(--xcm-radius-lg);background:var(--xcm-white);box-shadow:var(--xcm-shadow-sm)}
.xcm-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.xcm-area-link{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:13px 15px;border:1px solid var(--xcm-line);border-radius:14px;background:var(--xcm-white);color:var(--xcm-navy)!important;font-weight:740;line-height:1.25;text-decoration:none!important}
.xcm-area-link:hover{border-color:rgba(177,18,38,.35);box-shadow:var(--xcm-shadow-sm);color:var(--xcm-red)!important}
.xcm-area-link::after{content:"›";color:var(--xcm-red);font-size:1.3rem;line-height:1}
.xcm-link-box{padding:24px;border:1px solid rgba(177,18,38,.18);border-radius:var(--xcm-radius-lg);background:linear-gradient(180deg,#fff,rgba(177,18,38,.035))}
.xcm-link-list{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.xcm-link-list li{margin:0}
.xcm-link-list a{display:inline-flex;padding:8px 12px;border:1px solid var(--xcm-line);border-radius:999px;background:var(--xcm-white);color:var(--xcm-navy);font-size:.92rem;font-weight:720;text-decoration:none!important}
.xcm-link-list a:hover{border-color:var(--xcm-red);color:var(--xcm-red)}
.xcm-project-card{overflow:hidden;border:1px solid var(--xcm-line);border-radius:var(--xcm-radius-lg);background:var(--xcm-white);box-shadow:var(--xcm-shadow-sm)}
.xcm-project-media{aspect-ratio:16/10;overflow:hidden;background:var(--xcm-navy)}
.xcm-project-media img{width:100%;height:100%;display:block;object-fit:cover}
.xcm-project-body{padding:22px}
.xcm-project-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.xcm-project-meta span{padding:5px 9px;border-radius:999px;background:var(--xcm-soft);color:var(--xcm-muted);font-size:.8rem;font-weight:720}
.xcm-site .button,.xcm-site input[type="submit"]{border-radius:999px}
.xcm-site .ux-menu-link__link:hover,.xcm-site .nav>li>a:hover{color:var(--xcm-red)}
.xcm-site .badge-inner,.xcm-site .badge-container{border-radius:999px}
@media (max-width:1024px){.xcm-metric-grid,.xcm-trustbar-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.xcm-trust-item:nth-child(2){border-right:0}.xcm-trust-item:nth-child(1),.xcm-trust-item:nth-child(2){border-bottom:1px solid var(--xcm-line)}.xcm-contact-panel-inner{grid-template-columns:1fr}}
@media (max-width:768px){.xcm-metric-grid{grid-template-columns:1fr}.xcm-btn-row{display:grid;grid-template-columns:1fr;align-items:stretch}.xcm-btn-row .xcm-btn,.xcm-btn-row .xcm-phone-pill{width:100%}.xcm-btn{min-height:50px;padding:14px 16px}.xcm-card,.xcm-contact-card{padding:20px}.xcm-trustbar{margin-top:0}.xcm-trustbar-inner{border-radius:0;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-left:0;border-right:0}.xcm-trust-item{padding:16px}.xcm-contact-copy,.xcm-contact-box{padding:24px}.xcm-form-grid{grid-template-columns:1fr}.xcm-enable-sticky-cta .xcm-sticky-mobile-cta{position:fixed;left:10px;right:10px;bottom:10px;z-index:850;grid-template-columns:1fr 1fr;gap:8px;padding:8px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:#07111F;box-shadow:0 18px 44px rgba(7,17,31,.28)}.xcm-sticky-mobile-cta a{min-height:44px;padding:10px 12px;border-radius:999px;font-size:.9rem;font-weight:750;text-align:center;text-decoration:none!important}.xcm-sticky-mobile-cta .xcm-mobile-call{background:var(--xcm-red);color:var(--xcm-white)!important}.xcm-sticky-mobile-cta .xcm-mobile-quote{background:var(--xcm-white);color:var(--xcm-navy)!important}}
@media (max-width:520px){.xcm-trustbar-inner{grid-template-columns:1fr}.xcm-trust-item{border-right:0;border-bottom:1px solid var(--xcm-line)}.xcm-trust-item:last-child{border-bottom:0}.xcm-area-grid{grid-template-columns:1fr}}
@media print{.xcm-contact-panel{background:#fff!important;color:#111!important}.xcm-btn,.xcm-sticky-mobile-cta{display:none!important}}
.xcm-sticky-mobile-cta{display:none!important}
@media (max-width:768px){.xcm-enable-sticky-cta .xcm-sticky-mobile-cta{display:grid!important}}
.xcm-section-dark .xcm-card:not(.xcm-card-dark),.xcm-section-dark .xcm-project-card,.xcm-section-dark .xcm-contact-card{color:var(--xcm-ink)}
.xcm-section-dark .xcm-card:not(.xcm-card-dark) .xcm-title-md,.xcm-section-dark .xcm-card:not(.xcm-card-dark) h3,.xcm-section-dark .xcm-project-card .xcm-title-md,.xcm-section-dark .xcm-project-card h3,.xcm-section-dark .xcm-contact-card .xcm-title-md,.xcm-section-dark .xcm-contact-card h3{color:var(--xcm-navy)}
.xcm-section-dark .xcm-card:not(.xcm-card-dark) p,.xcm-section-dark .xcm-project-card p,.xcm-section-dark .xcm-contact-card p{color:var(--xcm-muted)}
.xcm-price,.xcm-metric-num{overflow-wrap:anywhere}
.xcm-card:not(.xcm-card-dark) h1,.xcm-card:not(.xcm-card-dark) h2,.xcm-card:not(.xcm-card-dark) h3,.xcm-card:not(.xcm-card-dark) h4,.xcm-card:not(.xcm-card-dark) .xcm-title-xl,.xcm-card:not(.xcm-card-dark) .xcm-title-lg,.xcm-card:not(.xcm-card-dark) .xcm-title-md,.xcm-card:not(.xcm-card-dark) .xcm-title-sm,.xcm-contact-card h1,.xcm-contact-card h2,.xcm-contact-card h3,.xcm-contact-card h4,.xcm-contact-card .xcm-title-md{color:var(--xcm-navy)}
.xcm-card-dark h1,.xcm-card-dark h2,.xcm-card-dark h3,.xcm-card-dark h4,.xcm-card-dark .xcm-title-xl,.xcm-card-dark .xcm-title-lg,.xcm-card-dark .xcm-title-md,.xcm-card-dark .xcm-title-sm{color:var(--xcm-white)}

@media (hover:none),(pointer:coarse){.xcm-btn,.xcm-card,.xcm-area-link{transition:none}.xcm-btn:hover{transform:none}.xcm-card:hover,.xcm-area-link:hover{box-shadow:var(--xcm-shadow-sm)}}
