.sol-hero{
 position: relative;
 padding: 180px var(--pad-x) 130px;
 background: linear-gradient(135deg, #0a1e4a 0%, #1748a3 50%, #2a7de1 100%);
 color: #fff;
 overflow: hidden;
}
.sol-hero::before{
 content: ''; position: absolute; inset: 0;
 background:
 radial-gradient(ellipse 80% 60% at 90% 30%, rgba(255,255,255,.12), transparent 60%),
 radial-gradient(ellipse 50% 80% at 0% 100%, rgba(0,0,0,.25), transparent 60%);
}
.sol-hero::after{
 content: ''; position: absolute; inset: 0;
 background-image:
 repeating-linear-gradient(135deg, transparent 0 60px, rgba(255,255,255,.04) 60px 61px),
 repeating-linear-gradient(45deg, transparent 0 50px, rgba(255,255,255,.03) 50px 51px);
 opacity: .55;
}
.sol-hero-inner{ position: relative; z-index: 2; max-width: 1200px; }
.sol-hero .applab-pill{
 display: inline-flex; align-items: center;
 padding: 8px 18px;
 background: rgba(255,255,255,.12);
 border: 1px solid rgba(255,255,255,.22);
 border-radius: 100px;
 font-family: var(--display); font-weight: 700;
 margin-bottom: 36px;
 font-size: 14px;
 backdrop-filter: blur(10px);
}
.sol-hero h1{
 font-family: var(--display); font-weight: 700;
 font-size: clamp(50px, 8vw, 100px);
 line-height: .95; letter-spacing: -.045em;
 margin-bottom: 36px;
 color: #fff;
}
.sol-hero h1 .em{ color: rgba(255,255,255,.55); }
.sol-hero .sub{
 font-size: 18px; line-height: 1.55;
 color: rgba(255,255,255,.85);
 max-width: 720px;
 margin-bottom: 40px;
}
.sol-tags{
 display: inline-flex;
 align-items: center;
 padding: 10px 6px;
 background: rgba(255,255,255,.08);
 backdrop-filter: blur(12px);
 border: 1px solid rgba(255,255,255,.18);
 border-radius: 100px;
}
.hero-tag{
 font-family: var(--mono); font-size: 11px;
 letter-spacing: .18em; text-transform: uppercase;
 padding: 0 18px;
 color: rgba(255,255,255,.85);
}
.sol-section{ padding: clamp(80px, 10vw, 140px) var(--pad-x); }
.sol-section.is-dark{ background: var(--ink); color: #fff; }
.sol-section.is-dark h2{ color: #fff; }
.sol-section.is-off{ background: var(--off); }

.sol-head{ max-width: 1000px; margin-bottom: clamp(50px, 6vw, 80px); }
.sol-head .eye{
 font-family: var(--mono); font-size: 12px;
 letter-spacing: .18em; text-transform: uppercase;
 color: var(--blue); margin-bottom: 18px; display: block;
}
.sol-section.is-dark .sol-head .eye{ color: var(--cyan); }
.sol-head h2{
 font-family: var(--display); font-weight: 700;
 font-size: clamp(40px, 5vw, 64px);
 line-height: 1; letter-spacing: -.035em;
 margin: 0 0 24px;
}
.sol-head h2 .em{ color: var(--blue); }
.sol-section.is-dark .sol-head h2 .em{ color: var(--cyan); }
.sol-head .lead{ font-size: 17px; line-height: 1.65; color: var(--grey-1); max-width: 820px; }
.sol-section.is-dark .sol-head .lead{ color: rgba(255,255,255,.75); }

.cap-grid{
 display: grid; grid-template-columns: repeat(3, 1fr);
 gap: clamp(20px, 2vw, 30px);
}
@media (max-width: 880px){ .cap-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px){ .cap-grid{ grid-template-columns: 1fr; } }
.capx{
 padding: 32px 28px;
 background: #fff;
 border-radius: 18px;
 border: 1px solid var(--line);
}
.sol-section.is-dark .capx{ background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.10); }
.capx h4{
 font-family: var(--display); font-weight: 700;
 font-size: 18px; color: var(--blue);
 margin-bottom: 12px;
 text-transform: uppercase; letter-spacing: -.005em;
}
.sol-section.is-dark .capx h4{ color: var(--cyan); }
.capx p{ font-size: 14.5px; line-height: 1.6; color: var(--grey-1); }
.sol-section.is-dark .capx p{ color: rgba(255,255,255,.75); }

.metrics-bar{
 display: grid; grid-template-columns: repeat(4, 1fr);
 gap: 1px;
 background: rgba(255,255,255,.10);
 border: 1px solid rgba(255,255,255,.10);
 border-radius: 20px;
 overflow: hidden;
 margin-top: clamp(40px,5vw,60px);
}
@media(max-width:780px){ .metrics-bar{ grid-template-columns: 1fr 1fr; } }
.metric{ padding: 32px 24px; background: var(--ink); text-align: center; }
.metric b{
 display: block; font-family: var(--display); font-weight: 800;
 font-size: clamp(32px, 4vw, 48px); color: #FFA500;
 letter-spacing: -.04em; line-height: 1; margin-bottom: 10px;
}
.metric span{
 font-family: var(--mono); font-size: 11px;
 letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.7);
}

.diff-grid{
 display: grid; grid-template-columns: repeat(3, 1fr);
 gap: clamp(20px, 2vw, 30px);
}
@media(max-width:880px){ .diff-grid{ grid-template-columns: 1fr; } }
.diff{
 padding: 36px 30px;
 background: var(--paper);
 border-radius: 18px;
 border: 1px solid var(--line);
}
.diff-cat{
 font-family: var(--mono); font-size: 11px;
 letter-spacing: .18em; text-transform: uppercase;
 color: var(--grey-1); margin-bottom: 16px;
}
.diff-title{
 font-family: var(--display); font-weight: 700;
 font-size: 28px; color: var(--blue);
 letter-spacing: -.02em;
 margin-bottom: 8px;
}
.diff-sub{
 font-family: var(--mono); font-size: 11px;
 letter-spacing: .14em; text-transform: uppercase;
 color: var(--grey-2); margin-bottom: 20px;
 padding-bottom: 18px;
 border-bottom: 1px solid var(--line);
}
.diff-body p{
 font-size: 14.5px; line-height: 1.6;
 color: var(--grey-1); margin-bottom: 16px;
}
.diff-body p:last-child{ margin-bottom: 0; }
.diff-body p b{ color: var(--blue); }
.diff-body p:last-child b{ color: #FFA500; }

.az-grid{
 display: grid; grid-template-columns: 1fr 1fr;
 gap: clamp(18px, 2vw, 28px);
}
@media(max-width: 720px){ .az-grid{ grid-template-columns: 1fr; } }
.az-svc{
 display: grid; grid-template-columns: 50px 1fr;
 gap: 20px;
 padding: 22px 24px;
 align-items: start;
}
.az-num{
 width: 44px; height: 44px;
 border-radius: 8px;
 background: var(--blue); color: #fff;
 font-family: var(--display); font-weight: 800; font-size: 18px;
 display: grid; place-items: center;
}
.az-svc h4{ font-family: var(--display); font-weight: 700; font-size: 17px; color: var(--ink); margin-bottom: 6px; }
.az-svc p{ font-size: 13.5px; line-height: 1.55; color: var(--grey-1); }

.cust-grid{
 display: grid; grid-template-columns: repeat(3, 1fr);
 gap: clamp(20px, 2vw, 30px);
}
@media(max-width:980px){ .cust-grid{ grid-template-columns: 1fr 1fr; } }
@media(max-width:540px){ .cust-grid{ grid-template-columns: 1fr; } }
.cust-card{
 padding: 30px 26px;
 background: var(--paper);
 border-radius: 16px;
 border: 1px solid var(--line);
}
.cust-card h4{
 font-family: var(--mono); font-size: 11px;
 letter-spacing: .14em; text-transform: uppercase;
 color: var(--blue); margin-bottom: 14px;
}
.cust-card p{ font-size: 14px; line-height: 1.6; color: var(--grey-1); }

.dep-grid{
 display: grid; grid-template-columns: 1fr 1fr;
 gap: clamp(30px, 3vw, 50px);
 margin-top: clamp(40px,5vw,60px);
}
@media(max-width:780px){ .dep-grid{ grid-template-columns: 1fr; } }
.dep-card{
 padding: 32px 30px;
 background: var(--off);
 border-radius: 16px;
}
.dep-num{
 font-family: var(--display); font-weight: 800;
 font-size: 28px; color: var(--grey-2);
 line-height: 1; margin-bottom: 16px;
}
.dep-card h4{
 font-family: var(--mono); font-size: 11px;
 letter-spacing: .18em; text-transform: uppercase;
 color: var(--blue); margin-bottom: 14px;
}
.dep-card p{ font-size: 14.5px; line-height: 1.6; color: var(--ink); }

.sol-cta{
 padding: clamp(80px, 10vw, 140px) var(--pad-x);
 background: var(--ink);
 color: #fff;
 text-align: center;
 position: relative;
 overflow: hidden;
}
.sol-cta::before{
 content:''; position: absolute; inset: 0;
 background: radial-gradient(ellipse 60% 50% at 50% 100%, rgba(0,160,223,.20), transparent 60%);
}
.sol-cta > *{ position: relative; z-index: 2; }
.sol-cta h2{ font-family: var(--display); font-weight: 700; font-size: clamp(36px, 5vw, 60px); letter-spacing: -.03em; line-height: 1.05; max-width: 22ch; margin: 0 auto 24px; color: #fff; }
.sol-cta h2 .em{ color: var(--cyan); }
.sol-cta p{ max-width: 600px; margin: 0 auto 40px; color: rgba(255,255,255,.75); font-size: 17px; line-height: 1.6; }
.sol-cta-actions{ display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
