/* Technology routes */
.technology-intro { display:grid; grid-template-columns:170px 1fr; gap:60px; align-items:start; margin-bottom:75px }
.tech-label { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 14px; color:#087ca7; background:#e5f7fc; border:1px solid #cceaf2; border-radius:999px; font-family:var(--mono); font-size:.58rem; letter-spacing:.1em }
.technology-intro h2 { max-width:930px; margin:0; font-size:clamp(1.8rem,3.25vw,3.55rem); line-height:1.3 }
.feature-card-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px }
.feature-card { min-height:330px; padding:32px; background:#f2f7f8; border:1px solid #deeaed; border-radius:var(--radius); transition:transform .3s ease,background .3s ease }
.feature-card:hover { transform:translateY(-5px); background:#eaf9fd }
.feature-card>span { width:58px; height:58px; display:grid; place-items:center; color:#0a82ae; background:var(--white); border-radius:50%; box-shadow:0 10px 30px rgba(11,57,75,.08) }
.feature-card>span .icon { width:27px; height:27px }
.feature-card h3 { margin:65px 0 14px; font-size:1.28rem }
.feature-card p { margin:0; color:#687a83; font-size:.9rem }
.spec-visual { min-height:610px; display:grid; grid-template-columns:1fr; place-items:center; color:var(--white); background:linear-gradient(145deg,#102b37,#071017) }
.spec-visual::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:48px 48px; opacity:.4 }
.spec-ring { position:relative; width:280px; height:280px; display:grid; place-items:center; border:1px solid rgba(50,200,255,.3); border-radius:50% }
.spec-ring::before,.spec-ring::after { content:""; position:absolute; border:1px solid rgba(50,200,255,.2); border-radius:inherit }
.spec-ring::before { inset:42px }.spec-ring::after { inset:88px; background:rgba(50,200,255,.06) }
.spec-ring>i { position:absolute; inset:-55px; border:1px dashed rgba(50,200,255,.18); border-radius:50%; animation:rotate 30s linear infinite }
.spec-ring>i:nth-child(2) { inset:-105px; animation-direction:reverse; animation-duration:45s }
.spec-ring>span { position:relative; z-index:2; width:82px; height:82px; display:grid; place-items:center; color:var(--cyan); background:#0c2530; border:1px solid rgba(50,200,255,.35); border-radius:50%; box-shadow:0 0 45px rgba(50,200,255,.15) }
.spec-ring .icon { width:37px; height:37px }
.spec-data { position:absolute; inset:auto 28px 28px; display:grid; grid-template-columns:repeat(3,1fr); gap:6px }
.spec-data>div { padding:13px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); border-radius:9px }
.spec-data small { display:block; color:#617a86; font-family:var(--mono); font-size:.46rem }.spec-data strong { display:block; margin-top:5px; color:#a9bac2; font-size:.63rem }
.fine-note { padding-left:16px; border-left:2px solid var(--cyan-2); color:#7a8c94!important; font-size:.82rem!important }
.chain-flow { display:grid; grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr 34px 1fr; align-items:center; gap:5px }
.chain-item { min-height:175px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; text-align:center; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.09); border-radius:16px }
.chain-item .icon { width:32px; height:32px; color:var(--cyan) }.chain-item span { color:#a5b6be; font-size:.76rem; font-weight:700 }
.chain-flow>i { height:1px; background:linear-gradient(90deg,rgba(50,200,255,.1),var(--cyan),rgba(50,200,255,.1)) }

/* Installation and service */
.install-steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line) }
.install-step { min-height:380px; padding:32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white) }
.install-step>span { color:#93a6ae; font-family:var(--mono); font-size:.58rem }.install-step>div>.icon { width:38px; height:38px; margin:58px 0 30px; color:#1484ae; stroke-width:1.3 }
.install-step h3 { font-size:1.35rem }.install-step p { color:#687982; font-size:.9rem }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:36px; border-top:1px solid var(--line); border-left:1px solid var(--line) }
.detail-grid>div { padding:22px; border-right:1px solid var(--line); border-bottom:1px solid var(--line) }.detail-grid strong { display:block; margin-bottom:7px; font-family:var(--mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase }.detail-grid span { color:#6c7d85; font-size:.82rem; line-height:1.55 }
.mount-visual { min-height:620px; padding:24px; color:var(--white) }
.wall-grid { position:relative; min-height:500px; overflow:hidden; background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size:45px 45px; border:1px solid rgba(255,255,255,.08); border-radius:18px }
.wall-grid::before { content:""; position:absolute; inset:22% 12% 0; border:1px solid rgba(210,234,242,.25); clip-path:polygon(0 18%,48% 0,100% 18%,100% 100%,0 100%) }
.wall-cam { position:absolute; z-index:3; right:20%; top:25%; width:90px; height:40px; border-radius:10px 19px 19px 10px; background:#dce7e9; transform:rotate(-12deg) }
.wall-cam i { position:absolute; right:7px; top:6px; width:28px; height:28px; border:5px solid #17303b; background:radial-gradient(circle,var(--cyan) 0 8%,#071017 10% 60%,#47606b 63%); border-radius:50% }.wall-cam b { position:absolute; left:12px; top:11px; width:19px; height:6px; background:#9fb1b8; border-radius:5px }
.angle-beam { position:absolute; z-index:2; right:-3%; top:31%; width:54%; height:44%; background:linear-gradient(145deg,rgba(50,200,255,.16),transparent 65%); clip-path:polygon(0 0,100% 48%,100% 100%,0 12%) }
.wall-grid small { position:absolute; left:25px; bottom:22px; color:#74909c; font-family:var(--mono); font-size:.51rem; letter-spacing:.09em }
.mount-metrics { display:flex; justify-content:space-around; padding-top:24px; color:#8097a2; font-family:var(--mono); font-size:.52rem; letter-spacing:.08em }.mount-metrics span { display:flex; align-items:center; gap:7px }.mount-metrics i { width:6px; height:6px; background:var(--cyan); border-radius:50% }
.handover-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px }.handover-grid article { min-height:260px; padding:30px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.1); border-radius:16px }.handover-grid .icon { width:34px; height:34px; color:var(--cyan) }.handover-grid h3 { margin:70px 0 12px; font-size:1.25rem }.handover-grid p { margin:0; color:#91a5ae; font-size:.87rem }
.diagnostic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px }.diagnostic-card { min-height:330px; padding:32px; background:#f1f7f8; border:1px solid #deeaed; border-radius:var(--radius) }.diagnostic-card>span { width:57px; height:57px; display:grid; place-items:center; color:#0b84af; background:var(--white); border-radius:50% }.diagnostic-card h3 { margin:65px 0 14px; font-size:1.3rem }.diagnostic-card p { margin:0; color:#677982; font-size:.9rem }
.service-console { min-height:590px; padding:25px; color:var(--white); background:var(--ink-2); border-radius:var(--radius-lg); box-shadow:var(--shadow) }
.console-row { display:grid; grid-template-columns:1fr 1.5fr 50px; align-items:center; gap:16px; margin-top:11px; padding:23px 17px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); border-radius:10px; color:#8297a1; font-family:var(--mono); font-size:.56rem }.console-row i { height:5px; overflow:hidden; background:#142e39; border-radius:5px }.console-row i::before { content:""; display:block; width:78%; height:100%; background:linear-gradient(90deg,#146785,var(--cyan)); box-shadow:0 0 12px var(--cyan) }.console-row strong { color:var(--cyan); font-size:.5rem }
.console-foot { display:flex; justify-content:space-between; margin-top:28px; padding-top:18px; color:#6f8792; border-top:1px solid rgba(255,255,255,.1); font-family:var(--mono); font-size:.52rem; letter-spacing:.07em }
.number-list { list-style:none; margin:32px 0 0; padding:0; border-top:1px solid var(--line) }.number-list li { display:grid; grid-template-columns:45px 1fr; gap:18px; padding:21px 0; border-bottom:1px solid var(--line) }.number-list li>span { color:#1685ae; font-family:var(--mono); font-size:.58rem }.number-list strong { display:block; margin-bottom:5px }.number-list p { margin:0; color:#71828a; font-size:.85rem }
.maintenance-banner { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:center; padding:clamp(45px,7vw,85px); background:linear-gradient(135deg,rgba(50,200,255,.1),rgba(255,255,255,.025)); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-lg) }.maintenance-banner h2 { margin-bottom:18px }.maintenance-banner p { color:#97aab3 }.maintenance-banner ul { list-style:none; margin:0; padding:0; border-top:1px solid var(--line-dark) }.maintenance-banner li { display:flex; align-items:center; gap:12px; padding:17px 0; color:#adbdc5; border-bottom:1px solid var(--line-dark); font-size:.9rem }.maintenance-banner li .icon { color:var(--cyan) }

/* Project cases */
.project-stack { display:grid; gap:28px }.project-case { display:grid; grid-template-columns:1.15fr .85fr; min-height:560px; overflow:hidden; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:0 18px 55px rgba(5,23,31,.06) }.project-case:nth-child(even) .project-image { order:2 }.project-case:nth-child(even) .project-content { order:1 }.project-image { min-height:560px }.project-image>em { position:absolute; z-index:5; left:25px; top:25px; padding:8px 11px; color:var(--cyan); background:rgba(7,16,23,.78); border:1px solid rgba(50,200,255,.25); border-radius:999px; font-family:var(--mono); font-size:.48rem; font-style:normal; letter-spacing:.09em }
.project-content { padding:clamp(38px,6vw,75px); display:flex; flex-direction:column; justify-content:center }.project-meta { display:flex; align-items:center; gap:20px; color:#8ca0a9; font-family:var(--mono); font-size:.57rem; letter-spacing:.08em; text-transform:uppercase }.project-meta span { color:#1383ae }.project-content h2 { margin:28px 0 20px; font-size:clamp(2rem,3vw,3.3rem) }.project-content>p { color:#657780 }.project-content ul { list-style:none; margin:20px 0 30px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:12px }.project-content li { display:flex; align-items:center; gap:9px; color:#5e727c; font-size:.82rem }.project-content li .icon { color:#0b86b2 }
.future-project { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center; padding:clamp(40px,6vw,75px); color:var(--white); background:var(--ink); border-radius:var(--radius-lg) }.future-project h2 { font-size:clamp(2rem,3vw,3.4rem) }.future-project p { color:#96aab3 }.project-template-flow { display:flex; align-items:center; justify-content:center; gap:13px }.project-template-flow>span { width:105px; height:105px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#aebdc4; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.11); border-radius:50%; font-size:.65rem }.project-template-flow b { display:block; margin-bottom:6px; color:var(--cyan); font-family:var(--mono); font-size:.52rem }.project-template-flow>i { width:22px; height:1px; background:var(--cyan) }

