/* Solutions Hub only. No shared header, footer or detail-page overrides. */
.solutions-hub{--hub-blue:#1772f6;--hub-navy:#122347;--hub-line:#d5e3f0;color:#526780;font-family:Roboto,sans-serif}
.solutions-hub .hub-container{width:100%;max-width:1320px;padding:0 30px;margin:auto}
.solutions-hub .hub-section{padding:52px 0}
.solutions-hub h1,.solutions-hub h2,.solutions-hub h3{font-family:Rubik,sans-serif;color:var(--hub-navy);font-weight:500}
.solutions-hub h1{font-size:40px;line-height:1.15;margin:0 0 22px}
.solutions-hub h2{font-size:27px;line-height:1.3;margin:0 0 13px}
.solutions-hub h3{font-size:15px;line-height:1.45;margin:0 0 10px}
.solutions-hub p{font-size:14px;line-height:1.7;margin:0 0 14px}
.solutions-hub figure,.solutions-hub ul,.solutions-hub ol{margin:0}
.solutions-hub .hub-eyebrow{display:block;color:var(--hub-blue);font-size:11px;letter-spacing:1.5px;font-weight:500;line-height:1.6;text-transform:uppercase;margin-bottom:10px}
.solutions-hub .hub-icon{display:block;width:27px;height:27px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;color:var(--hub-blue)}
.solutions-hub a{transition:color .2s,background-color .2s,border-color .2s}
.solutions-hub a:focus-visible{outline:3px solid var(--hub-blue);outline-offset:4px}
.solutions-hub .hub-link{display:inline-flex;gap:12px;align-items:center;font-size:13px;color:#125bc3;font-weight:500;line-height:1.6}
.solutions-hub .hub-link:hover{color:var(--hub-blue)}
.solutions-hub .hub-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:23px}
.solutions-hub .btn-one{display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:11px;line-height:1.6;padding:15px 20px;border:1px solid var(--hub-blue);border-radius:3px}
.solutions-hub .btn-one>span{flex-shrink:0;font-size:17px;line-height:1}
.solutions-hub .hub-outline{background:transparent;color:#125bc3}
.solutions-hub .hub-outline:hover{background:var(--hub-blue);color:white}
.solutions-hub .hub-hero{position:relative;isolation:isolate;background:#102b42;padding:240px 0 74px;overflow:hidden}
.solutions-hub .hub-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;z-index:-2}
.solutions-hub .hub-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,28,49,.96),rgba(6,28,49,.85) 37%,rgba(6,28,49,.32) 75%,rgba(6,28,49,.18));z-index:-1}
.solutions-hub .hub-hero-copy{max-width:790px}
.solutions-hub .hub-hero h1,.solutions-hub .hub-hero p{color:#fff}
.solutions-hub .hub-hero p{font-size:15px;max-width:575px}
.solutions-hub .hub-hero .hub-eyebrow{color:#d0e6ff;letter-spacing:2px}
.solutions-hub .hub-hero .hub-outline{border-color:#d7e9ff;color:#fff}
.solutions-hub .hub-logic,.solutions-hub .hub-rfq{background:#f0f7fc}
.solutions-hub .hub-logic-grid{display:grid;grid-template-columns:1fr;gap:34px;align-items:center}
.solutions-hub .hub-logic-grid>div>p{max-width:780px}
.solutions-hub .hub-flow{display:grid;gap:26px;list-style:none;padding:0;margin:26px 0 0}
.solutions-hub .hub-flow-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.solutions-hub .hub-flow-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.solutions-hub .hub-flow li{position:relative;display:flex;align-items:start;gap:12px;min-width:0;padding:18px 12px;background:#f7fbff;border:1px solid #dbe8f3;border-radius:4px}
.solutions-hub .hub-flow li:not(:last-child)::after{content:"→";position:absolute;right:-22px;top:30px;color:#76a3cf}
.solutions-hub .hub-flow h3{font-size:13px;margin-bottom:8px}
.solutions-hub .hub-flow p{font-size:12px;line-height:1.65;margin:0}
.solutions-hub .hub-intro{max-width:950px;margin-bottom:26px}
.solutions-hub .hub-app-link{display:flex;gap:10px;min-width:0;padding:18px 13px;background:#fff;border:1px solid #cadff2;border-radius:4px;color:#526780}
.solutions-hub .hub-app-link .hub-icon{width:21px;height:21px}
.solutions-hub .hub-app-link h3{font-size:13px;margin-bottom:10px}
.solutions-hub .hub-app-link p{font-size:12px;line-height:1.65;margin:0 0 18px}
.solutions-hub .hub-card-action{display:flex;align-items:center;gap:12px;font-size:11px;color:#125bc3;font-weight:500;margin-top:auto}
.solutions-hub .hub-card-action b{font-weight:400;font-size:17px}
.solutions-hub .hub-app-link:hover,.solutions-hub .hub-challenge:hover,.solutions-hub .hub-project:hover{border-color:var(--hub-blue);background:#f4f9ff}
.solutions-hub .hub-map-note{font-size:12px;line-height:1.6;margin:17px 0 0;color:#627991}
.solutions-hub .hub-challenges{padding-top:20px}
.solutions-hub .hub-dark{background:#0c2a42;color:#d6e3ef}
.solutions-hub .hub-dark h2,.solutions-hub .hub-dark h3{color:#fff}
.solutions-hub .hub-dark .hub-eyebrow{color:#a6cff5}
.solutions-hub .hub-relationship{background:linear-gradient(90deg,rgba(7,30,49,.97),rgba(7,30,49,.92)),url(/images/projects/qianjiang-shaoguan-no28-electric-heater-skids-site.webp) center/cover}
.solutions-hub .hub-relation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);gap:36px;align-items:center}
.solutions-hub .hub-relation-grid h2{font-size:27px}
.solutions-hub .hub-relation-diagram{display:grid;grid-template-columns:150px minmax(0,1fr);gap:65px;align-items:center}
.solutions-hub .hub-stream{display:flex;align-items:center;justify-content:center;text-align:center;width:150px;height:150px;border-radius:50%;border:1px solid #85b4df;background:#134b7a;color:#fff;font-size:16px;line-height:1.5}
.solutions-hub .hub-relation-diagram ul{list-style:none;padding:0;position:relative}
.solutions-hub .hub-relation-diagram ul::before{content:"";position:absolute;left:-34px;top:21px;bottom:21px;border-left:1px solid #7c9bb5}
.solutions-hub .hub-relation-diagram ul::after{content:"";position:absolute;width:32px;left:-65px;top:50%;border-top:1px solid #7c9bb5}
.solutions-hub .hub-relation-diagram li{position:relative;display:flex;align-items:center;gap:12px;font-size:13px;min-height:42px}
.solutions-hub .hub-relation-diagram li::before{content:"";position:absolute;left:-34px;width:26px;border-top:1px solid #7c9bb5}
.solutions-hub .hub-relation-diagram .hub-icon{color:#b5dbff;width:23px;height:23px}
.solutions-hub .hub-relation-copy{border-left:1px solid #587185;padding-left:28px}
.solutions-hub .hub-relation-copy p{font-size:13px;margin-bottom:12px}
.solutions-hub .hub-heading-pair{display:flex;align-items:start;justify-content:space-between;gap:36px}
.solutions-hub .hub-heading-pair>p{max-width:440px;font-size:13px}
.solutions-hub .hub-heading-pair>.hub-link{flex-shrink:0;margin-top:20px}
.solutions-hub .hub-authority-top{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:60px;align-items:center}
.solutions-hub .hub-authority-top p{max-width:710px}
.solutions-hub .hub-authority figure{margin:0}
.solutions-hub .hub-authority img{display:block;width:100%;height:auto;border-radius:3px}
.solutions-hub .hub-authority figcaption{font-size:11px;margin-top:10px;color:#aec5d8}
.solutions-hub .hub-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;border-top:1px solid #36546c;margin-top:32px;padding-top:28px}
.solutions-hub .hub-pillars article{display:flex;gap:17px;padding-right:18px;border-right:1px solid #36546c}
.solutions-hub .hub-pillars article:last-child{border:0;padding-right:0}
.solutions-hub .hub-pillars .hub-icon{color:#aecff0}
.solutions-hub .hub-pillars h3{font-size:14px}
.solutions-hub .hub-pillars p{font-size:12px;line-height:1.65;margin:0}
.solutions-hub .hub-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:20px}
.solutions-hub .hub-project{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);border:1px solid var(--hub-line);border-radius:4px;overflow:hidden;color:#526780}
.solutions-hub .hub-project img{width:100%;height:100%;min-height:180px;object-fit:cover}
.solutions-hub .hub-project>div{padding:17px 15px}
.solutions-hub .hub-project h3{font-size:13px}
.solutions-hub .hub-project p{font-size:12px;line-height:1.6}
.solutions-hub .hub-rfq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:60px;align-items:center}
.solutions-hub .hub-rfq-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 16px;list-style:none;padding:0}
.solutions-hub .hub-rfq-list li{display:flex;gap:8px;align-items:start;font-size:11px;line-height:1.6}
.solutions-hub .hub-rfq-list .hub-icon{width:16px;height:16px}
.solutions-hub #solution-navigator,.solutions-hub #hub-rfq{scroll-margin-top:100px}
@media(max-width:1199px){
.solutions-hub .hub-container{padding:0 24px}
.solutions-hub .hub-logic-grid{grid-template-columns:1fr}
.solutions-hub .hub-app-link{display:block;padding:15px 10px}
.solutions-hub .hub-app-link .hub-icon{margin-bottom:12px}
.solutions-hub .hub-relation-grid{grid-template-columns:1fr 1.6fr}
.solutions-hub .hub-relation-copy{grid-column:1/-1;border:0;padding:15px 0 0;border-top:1px solid #587185}
.solutions-hub .hub-flow-five{gap:18px}
.solutions-hub .hub-flow li{display:block}
.solutions-hub .hub-flow .hub-icon{margin-bottom:12px}
.solutions-hub .hub-flow li:not(:last-child)::after{right:-17px}
.solutions-hub .hub-project{grid-template-columns:1fr}
.solutions-hub .hub-project img{height:150px;min-height:0}
}
@media(max-width:991px){
.solutions-hub .hub-hero{padding-top:235px}
.solutions-hub .hub-heading-pair{display:block}
.solutions-hub .hub-heading-pair>p{max-width:none}
.solutions-hub .hub-heading-pair>.hub-link{margin:0 0 12px}
.solutions-hub .hub-authority-top{gap:28px;grid-template-columns:1.3fr 1fr}
.solutions-hub .hub-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
.solutions-hub .hub-pillars article:nth-child(2n){border:0}
.solutions-hub .hub-rfq-grid{grid-template-columns:1fr;gap:22px}
}
@media(max-width:767px){
.solutions-hub .hub-container{padding:0 20px}
.solutions-hub .hub-section{padding:38px 0}
.solutions-hub h1{font-size:31px;line-height:1.2}
.solutions-hub h2{font-size:24px}
.solutions-hub .hub-hero{padding:125px 0 48px}
.solutions-hub .hub-hero::after{background:rgba(6,28,49,.85)}
.solutions-hub .hub-hero p{font-size:14px}
.solutions-hub .hub-eyebrow{font-size:10px;letter-spacing:1.2px}
.solutions-hub .hub-actions{gap:12px}
.solutions-hub .btn-one{padding:13px 15px}
.solutions-hub .hub-flow-four,.solutions-hub .hub-flow-five{grid-template-columns:1fr;gap:21px}
.solutions-hub .hub-flow li{display:flex;gap:18px;padding:18px}
.solutions-hub .hub-flow li:not(:last-child)::after{content:"↓";right:auto;left:29px;top:auto;bottom:-21px}
.solutions-hub .hub-flow .hub-icon{margin:0}
.solutions-hub .hub-flow h3{font-size:14px}
.solutions-hub .hub-flow p{font-size:13px}
.solutions-hub .hub-main-destinations>.hub-app-link{grid-column:2}
.solutions-hub .hub-app-link{padding:15px 12px}
.solutions-hub .hub-app-link h3{font-size:14px}
.solutions-hub .hub-app-link p{font-size:13px}
.solutions-hub .hub-relation-grid{grid-template-columns:1fr;gap:24px}
.solutions-hub .hub-relation-diagram{grid-template-columns:118px minmax(0,1fr);gap:42px}
.solutions-hub .hub-stream{width:118px;height:118px;font-size:14px}
.solutions-hub .hub-relation-diagram ul::before{left:-24px}
.solutions-hub .hub-relation-diagram ul::after{left:-42px;width:18px}
.solutions-hub .hub-relation-diagram li::before{left:-24px;width:18px}
.solutions-hub .hub-relation-diagram li{font-size:12px;gap:8px}
.solutions-hub .hub-relation-diagram .hub-icon{width:20px;height:20px}
.solutions-hub .hub-authority-top{grid-template-columns:1fr}
.solutions-hub .hub-pillars{gap:24px}
.solutions-hub .hub-pillars article{display:block;padding-right:12px}
.solutions-hub .hub-pillars .hub-icon{margin-bottom:12px}
.solutions-hub .hub-project-grid{grid-template-columns:1fr;gap:16px}
.solutions-hub .hub-project{grid-template-columns:100px minmax(0,1fr)}
.solutions-hub .hub-project img{height:100%;min-height:180px}
.solutions-hub .hub-rfq-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.solutions-hub .hub-rfq-list li{font-size:12px}
}
@media(max-width:359px){
.solutions-hub .hub-container{padding:0 15px}
.solutions-hub .hub-app-link{padding:13px 10px}
.solutions-hub .hub-relation-diagram{grid-template-columns:100px minmax(0,1fr);gap:36px}
.solutions-hub .hub-stream{width:100px;height:100px;font-size:13px}
.solutions-hub .hub-relation-diagram ul::after{left:-36px;width:12px}
.solutions-hub .hub-project{grid-template-columns:80px minmax(0,1fr)}
}


/* Matched conceptual image navigation: process journey and engineering conditions. */
.solutions-hub .hub-process-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;background:#eaf5fd;padding:18px 14px;border-radius:6px}
.solutions-hub .hub-journey-stop{min-width:0;display:grid;grid-template-rows:190px 1fr}
.solutions-hub .hub-stage{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:flex-start}
.solutions-hub .hub-process-art{display:block;width:100%;height:142px;object-fit:contain;mix-blend-mode:normal}
.solutions-hub .hub-stage h3{font-size:12px;line-height:1.45;text-align:center;margin:6px 0 0}
.solutions-hub .hub-journey-stop:nth-child(-n+3) .hub-stage::after{content:"→";position:absolute;right:-19px;top:94px;color:#1772f6;font-size:24px;line-height:1;z-index:1}
.solutions-hub .hub-adjacent .hub-stage::before{content:"";position:absolute;left:-18px;top:67px;width:18px;height:39px;border-left:1px dashed #1772f6;border-top:1px dashed #1772f6;border-radius:5px 0 0}
.solutions-hub .hub-adjacent .hub-stage::after{content:"";position:absolute;left:-5px;top:64px;width:6px;height:6px;border-top:1px solid #1772f6;border-right:1px solid #1772f6;transform:rotate(45deg)}
.solutions-hub .hub-branch-label{display:block;font-size:10px;line-height:1.4;text-align:center;color:#426786;margin-top:4px}
.solutions-hub .hub-app-link{background:#f8fcff}
.solutions-hub .hub-app-link>div{display:flex;flex-direction:column}
.solutions-hub .hub-challenges{padding-top:20px}
.solutions-hub .hub-challenge-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.solutions-hub .hub-challenge{display:flex;flex-direction:column;min-width:0;border:1px solid var(--hub-line);border-radius:4px;overflow:hidden;background:#eaf5fd;color:#526780}
.solutions-hub .hub-challenge-art{display:block;width:100%;height:155px;object-fit:contain;mix-blend-mode:normal}
.solutions-hub .hub-challenge-copy{display:flex;flex-direction:column;flex:1;padding:18px 15px;background:#f8fcff}
.solutions-hub .hub-challenge-copy .hub-icon{width:23px;height:23px;margin-bottom:12px}
.solutions-hub .hub-challenge h3{font-size:14px}
.solutions-hub .hub-challenge p{font-size:12px;line-height:1.65;margin-bottom:18px}
@media(min-width:1200px){
.solutions-hub .hub-hero{min-height:658px}
}
@media(min-width:992px) and (max-width:1199px){
.solutions-hub .hub-journey-stop{grid-template-rows:178px 1fr}
.solutions-hub .hub-process-art{height:125px}
.solutions-hub .hub-challenge-art{height:125px}
}
@media(max-width:991px){
.solutions-hub .hub-process-map{display:block;padding:22px}
.solutions-hub .hub-journey-stop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);grid-template-rows:auto;gap:24px;position:relative;margin-bottom:30px}
.solutions-hub .hub-stage{justify-content:center}
.solutions-hub .hub-process-art{height:175px}
.solutions-hub .hub-stage h3{font-size:14px}
.solutions-hub .hub-journey-stop:nth-child(-n+3) .hub-stage::after{content:"↓";top:auto;bottom:-28px;right:calc(50% - 8px)}
.solutions-hub .hub-adjacent{margin:48px 0 0}
.solutions-hub .hub-adjacent .hub-stage::before{left:50%;top:-34px;width:28px;height:24px;border-top:0;border-left:1px dashed #1772f6;border-bottom:1px dashed #1772f6;border-radius:0 0 0 5px}
.solutions-hub .hub-adjacent .hub-stage::after{left:calc(50% + 23px);top:-14px}
.solutions-hub .hub-challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.solutions-hub .hub-challenge-art{height:180px}
}
@media(max-width:575px){
.solutions-hub .hub-process-map{padding:18px 12px}
.solutions-hub .hub-journey-stop{grid-template-columns:1fr;gap:0;margin-bottom:40px}
.solutions-hub .hub-stage{padding-bottom:14px}
.solutions-hub .hub-process-art{height:auto;aspect-ratio:3/2;max-height:200px}
.solutions-hub .hub-journey-stop:nth-child(-n+3) .hub-stage::after{display:none}
.solutions-hub .hub-journey-stop:nth-child(-n+3)::after{content:"↓";position:absolute;bottom:-31px;left:calc(50% - 8px);color:#1772f6;font-size:24px;line-height:1}
.solutions-hub .hub-adjacent{margin:48px 0 0}
.solutions-hub .hub-challenge-grid{grid-template-columns:1fr}
.solutions-hub .hub-challenge-art{height:auto;aspect-ratio:3/2;max-height:220px}
.solutions-hub .hub-challenge-copy{padding:20px}
.solutions-hub .hub-challenge h3{font-size:15px}
.solutions-hub .hub-challenge p{font-size:13px}
}

/* Consistent, readable navigation cards across both solution dimensions. */
.solutions-hub .hub-flow li{display:block;padding:22px 18px}
.solutions-hub .hub-flow .hub-icon{width:30px;height:30px;margin:0 0 16px}
.solutions-hub .hub-flow h3{font-size:16px;line-height:1.45}
.solutions-hub .hub-flow p{font-size:15px;line-height:1.65}
.solutions-hub .hub-challenge-grid{background:#eaf5fd;padding:18px 14px;border-radius:6px}
.solutions-hub .hub-challenge-stop{min-width:0;display:grid;grid-template-rows:190px 1fr}
.solutions-hub .hub-challenge-art{height:142px}
.solutions-hub .hub-stage h3{font-size:14px;line-height:1.45}
.solutions-hub .hub-app-link,.solutions-hub .hub-challenge-copy{display:flex;flex-direction:column;padding:20px 16px;gap:0}
.solutions-hub .hub-challenge{background:#f8fcff}
.solutions-hub .hub-app-link>div{flex:1}
.solutions-hub .hub-app-link .hub-icon,.solutions-hub .hub-challenge-copy .hub-icon{width:27px;height:27px;margin:0 0 16px}
.solutions-hub .hub-app-link h3,.solutions-hub .hub-challenge h3{font-size:16px;line-height:1.45;margin:0 0 14px;min-height:2.9em;text-wrap:pretty}
.solutions-hub .hub-app-link p,.solutions-hub .hub-challenge p{font-size:15px;line-height:1.65;margin:0 0 22px}
.solutions-hub .hub-card-action{font-size:14px;line-height:1.5}
.solutions-hub .hub-authority-top p{font-size:16px}
.solutions-hub .hub-authority figcaption{font-size:13px}
.solutions-hub .hub-pillars h3{font-size:16px}
.solutions-hub .hub-pillars p{font-size:15px}
.solutions-hub .hub-project h3{font-size:16px;line-height:1.45}
.solutions-hub .hub-project p{font-size:15px;line-height:1.65}
.solutions-hub .hub-project img{min-height:230px}
.solutions-hub .hub-project .hub-link{font-size:14px}
.solutions-hub .hub-rfq-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}
.solutions-hub .hub-rfq-list li{font-size:15px;gap:12px}
.solutions-hub .hub-rfq-list .hub-icon{width:23px;height:23px}
@media(min-width:992px) and (max-width:1199px){
.solutions-hub .hub-challenge-stop{grid-template-rows:178px 1fr}
.solutions-hub .hub-challenge-art{height:125px}
}
@media(max-width:991px){
.solutions-hub .hub-challenge-stop{grid-template-rows:auto 1fr}
.solutions-hub .hub-challenge-stop .hub-stage{padding-bottom:20px}
.solutions-hub .hub-challenge-art{height:180px}
.solutions-hub .hub-app-link h3,.solutions-hub .hub-challenge h3{min-height:0}
.solutions-hub .hub-flow-five{grid-template-columns:repeat(2,minmax(0,1fr))}
.solutions-hub .hub-flow-five li::after{display:none}
}
@media(max-width:767px){
.solutions-hub .hub-flow-four,.solutions-hub .hub-flow-five{grid-template-columns:1fr}
.solutions-hub .hub-project{grid-template-columns:1fr}
.solutions-hub .hub-project img{height:200px;min-height:0}
}
@media(max-width:575px){
.solutions-hub .hub-challenge-art{height:auto;aspect-ratio:3/2;max-height:200px}
.solutions-hub .hub-challenge-grid{padding:18px 12px;gap:28px}
}
@media(max-width:359px){
.solutions-hub .hub-rfq-list{grid-template-columns:1fr}
}
/* Content edges follow the English header (18px inset at 991px and below) so the hub
   lines up with the rest of the page at every width. Last, so it wins over the
   767px and 359px hub-container rules above. */
@media(max-width:991px){
.solutions-hub .hub-container{padding:0 18px}
}
