/* XCM 4.3 — Service / crane operation components. */
.xcm-hero-inner>*{min-width:0}
.xcm-hero .xcm-kicker{color:#FFCAD2}
.xcm-hero .xcm-kicker::before{background:#FFCAD2}
.xcm-hero .xcm-lead{color:rgba(255,255,255,.82)}
.xcm-hero .xcm-btn-outline{color:var(--xcm-white)!important;border-color:rgba(255,255,255,.34)}
.xcm-hero .xcm-btn-outline:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.72);color:var(--xcm-white)!important}
.xcm-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(72px,10vw,132px) 0;background:linear-gradient(105deg,rgba(7,17,31,.96) 0%,rgba(7,17,31,.90) 44%,rgba(7,17,31,.58) 72%,rgba(7,17,31,.28) 100%),radial-gradient(circle at 82% 16%,rgba(177,18,38,.35),transparent 34%),var(--xcm-navy);color:var(--xcm-white)}
.xcm-hero::before{content:"";position:absolute;inset:auto -80px -180px auto;width:420px;height:420px;border-radius:50%;background:rgba(177,18,38,.16);z-index:-1}
.xcm-hero::after{content:"";position:absolute;inset:0;z-index:-2;opacity:.28;background:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000,transparent 72%)}
.xcm-hero-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(28px,5vw,76px);align-items:center}
.xcm-hero-copy{max-width:760px}
.xcm-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 var(--xcm-space-4);padding:0;list-style:none}
.xcm-hero-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-hero .xcm-hero-badge{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:rgba(255,255,255,.92)}
.xcm-hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:var(--xcm-space-6)}
.xcm-proof-item{padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:var(--xcm-radius);background:rgba(255,255,255,.07)}
.xcm-proof-num{display:block;color:var(--xcm-white);font-size:clamp(1.35rem,2vw,2rem);font-weight:750;line-height:1}
.xcm-proof-label{display:block;margin-top:7px;color:rgba(255,255,255,.72);font-size:.9rem;line-height:1.35}
.xcm-hero-panel{position:relative;padding:clamp(18px,3vw,28px);border:1px solid rgba(255,255,255,.14);border-radius:var(--xcm-radius-xl);background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.055));box-shadow:var(--xcm-shadow-strong)}
.xcm-hero-panel::before{content:"";position:absolute;inset:16px 16px auto auto;width:72px;height:5px;border-radius:20px;background:var(--xcm-red)}
.xcm-hero-card{padding:24px;border-radius:var(--xcm-radius-lg);background:var(--xcm-white);color:var(--xcm-ink)}
.xcm-hero-card .xcm-title-md{color:var(--xcm-navy)}
.xcm-hero-media{position:relative;overflow:hidden;min-height:420px;border-radius:var(--xcm-radius-xl);background:linear-gradient(135deg,var(--xcm-navy-2),var(--xcm-red-dark));box-shadow:var(--xcm-shadow-strong)}
.xcm-hero-media img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
.xcm-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,17,31,.58));pointer-events:none}
.xcm-hero-media-label{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;padding:16px;border-radius:var(--xcm-radius);background:rgba(7,17,31,.78);color:var(--xcm-white)}
.xcm-page-hero{padding:clamp(48px,7vw,86px) 0;background:linear-gradient(135deg,rgba(7,17,31,.96),rgba(7,17,31,.9)),radial-gradient(circle at 85% 20%,rgba(177,18,38,.22),transparent 30%);color:var(--xcm-white)}
.xcm-page-hero .xcm-container{max-width:980px}
.xcm-service-card{display:flex;flex-direction:column;min-height:100%;padding:0;border:1px solid var(--xcm-line);border-radius:var(--xcm-radius-lg);background:var(--xcm-white);box-shadow:var(--xcm-shadow-sm);overflow:hidden}
.xcm-service-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--xcm-navy);contain:paint}
.xcm-service-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.xcm-service-card:hover .xcm-service-media img{transform:scale(1.04)}
.xcm-service-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(7,17,31,.48))}
.xcm-service-body{display:flex;flex:1;flex-direction:column;padding:22px}
.xcm-service-body .xcm-btn{margin-top:auto;align-self:flex-start}
.xcm-service-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.xcm-service-tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--xcm-soft);color:var(--xcm-muted);font-size:.8rem;font-weight:700;line-height:1.2}
.xcm-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--xcm-space-5)}
.xcm-price-card{position:relative;display:flex;flex-direction:column;min-height:100%;padding:28px;border:1px solid var(--xcm-line);border-radius:var(--xcm-radius-lg);background:var(--xcm-white);box-shadow:var(--xcm-shadow-sm)}
.xcm-price-card.featured{border-color:rgba(177,18,38,.42);box-shadow:0 22px 60px rgba(177,18,38,.16)}
.xcm-price-card.featured::before{content:"Phổ biến";position:absolute;top:18px;right:18px;padding:5px 10px;border-radius:999px;background:var(--xcm-red);color:var(--xcm-white);font-size:.78rem;font-weight:750}
.xcm-price-title{margin:0 0 8px;color:var(--xcm-navy)}
.xcm-price-number{display:block;margin:16px 0;color:var(--xcm-red);font-size:clamp(1.7rem,3vw,2.8rem);font-weight:750;line-height:1}
.xcm-price-note{color:var(--xcm-muted);font-size:.92rem}
.xcm-price-card .xcm-btn{margin-top:auto}
.xcm-compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--xcm-space-5)}
.xcm-compare-card{padding:22px;border:1px solid var(--xcm-line);border-radius:var(--xcm-radius-lg);background:var(--xcm-white);box-shadow:var(--xcm-shadow-sm)}
.xcm-compare-row{display:grid;grid-template-columns:minmax(96px,36%) minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--xcm-line)}
.xcm-compare-row:last-child{border-bottom:0}
.xcm-compare-label{color:var(--xcm-navy);font-weight:750}
.xcm-compare-value{color:var(--xcm-muted)}
@media (max-width:768px){.xcm-pricing-grid{grid-template-columns:1fr}}
.xcm-steps{counter-reset:xcm-step;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--xcm-space-5)}
.xcm-step{counter-increment:xcm-step;position:relative;padding:26px 22px;border:1px solid var(--xcm-line);border-radius:var(--xcm-radius-lg);background:var(--xcm-white);box-shadow:var(--xcm-shadow-sm)}
.xcm-step::before{content:counter(xcm-step,decimal-leading-zero);display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:18px;border-radius:50%;background:var(--xcm-navy);color:var(--xcm-white);font-weight:750;line-height:1}
.xcm-step::after{content:"";position:absolute;top:49px;left:68px;right:-25px;height:2px;background:linear-gradient(90deg,rgba(177,18,38,.34),transparent)}
.xcm-step:last-child::after{display:none}
.xcm-timeline{position:relative;display:grid;gap:18px}
.xcm-timeline::before{content:"";position:absolute;top:8px;bottom:8px;left:22px;width:2px;background:var(--xcm-line)}
.xcm-timeline-item{position:relative;padding:0 0 0 62px}
.xcm-timeline-dot{position:absolute;top:4px;left:10px;width:26px;height:26px;border:5px solid var(--xcm-white);border-radius:50%;background:var(--xcm-red);box-shadow:0 0 0 1px var(--xcm-line)}
@media (max-width:1024px){.xcm-hero-inner{grid-template-columns:1fr}.xcm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.xcm-step::after{display:none}.xcm-pricing-grid{grid-template-columns:1fr}}
@media (max-width:768px){.xcm-steps{grid-template-columns:1fr}.xcm-hero{padding:54px 0 64px}.xcm-hero-proof{grid-template-columns:1fr}.xcm-hero-media,.xcm-hero-media img{min-height:280px}.xcm-price-card{padding:20px}}
@media (max-width:520px){.xcm-hero-panel{padding:14px;border-radius:22px}.xcm-hero-card{padding:18px}}
@media print{.xcm-hero{background:#fff!important;color:#111!important}}
.xcm-section-dark .xcm-step,.xcm-section-dark .xcm-service-card,.xcm-section-dark .xcm-compare-card,.xcm-section-dark .xcm-price-card{color:var(--xcm-ink)}
.xcm-section-dark .xcm-step .xcm-title-md,.xcm-section-dark .xcm-step h3,.xcm-section-dark .xcm-service-card .xcm-title-md,.xcm-section-dark .xcm-service-card h3,.xcm-section-dark .xcm-compare-card .xcm-title-md,.xcm-section-dark .xcm-compare-card h3,.xcm-section-dark .xcm-price-card .xcm-price-title,.xcm-section-dark .xcm-price-card h3{color:var(--xcm-navy)}
.xcm-section-dark .xcm-step p,.xcm-section-dark .xcm-service-card p,.xcm-section-dark .xcm-compare-value,.xcm-section-dark .xcm-price-note{color:var(--xcm-muted)}
.xcm-section-dark .xcm-step::before{background:var(--xcm-navy);color:var(--xcm-white)}
.xcm-price-number{overflow-wrap:anywhere}
@media (max-width:768px){.xcm-price-number{font-size:clamp(1.45rem,8vw,2.05rem);line-height:1.08}}
@media (max-width:560px){.xcm-compare-row{grid-template-columns:1fr;gap:4px}}
.xcm-hero h1,.xcm-hero h2,.xcm-hero h3,.xcm-hero h4,.xcm-hero .xcm-title-xl,.xcm-hero .xcm-title-lg,.xcm-hero .xcm-title-md,.xcm-hero .xcm-title-sm{color:var(--xcm-white)}
.xcm-compare-card h3,.xcm-price-card h3{color:var(--xcm-navy)}
@media (max-width:768px){.xcm-compare-row{grid-template-columns:1fr;gap:4px}}

@media (hover:none),(pointer:coarse){.xcm-service-media img{transition:none}.xcm-service-card:hover .xcm-service-media img{transform:none}}
