:root{--rw-navy:#0B2A5B;--rw-blue:#1769D2;--rw-cyan:#00AEEF;--rw-light:#F4F7FB;--rw-line:#DCE4EE;--rw-text:#242424;--rw-muted:#667085;
}
.dvs-page{color:var(--rw-text);overflow:hidden}
.dvs-page img{max-width:100%;display:block}
.dvs-section{padding:108px 0}
.dvs-section.bg-light{background:var(--rw-light)}
.dvs-section.dark{background:linear-gradient(135deg,#06162D 0%,#0B2A5B 58%,#123C70 100%);color:#fff}
.dvs-title{margin-bottom:50px}
.dvs-title .kicker{margin-bottom:12px;font-size:16px;font-weight:800;color:var(--rw-blue);letter-spacing:.08em}
.dvs-section.dark .dvs-title .kicker{color:#67CEFF}
.dvs-title h2{margin:0 0 18px;font-size:44px;line-height:1.28;font-weight:800;color:var(--rw-navy)}
.dvs-section.dark .dvs-title h2{color:#fff}
.dvs-title p{max-width:900px;font-size:18px;line-height:1.8;color:#475467}
.dvs-section.dark .dvs-title p{color:rgba(255,255,255,.78)}


.dvs-overview{display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center}
.dvs-overview .copy h2{font-size:46px;line-height:1.3;color:var(--rw-navy);margin:0 0 26px;font-weight:800}
.dvs-overview .copy p{font-size:18px;line-height:1.9;color:#475467;margin:0 0 18px}
.dvs-overview .note{margin-top:24px;padding:18px 20px;border-left:4px solid var(--rw-blue);background:#F2F7FD;color:#435269;line-height:1.72}
.dvs-overview .visual{min-height:430px;padding:26px;border-radius:24px;background:linear-gradient(180deg,#F7FAFD 0%,#EDF3F9 100%);box-shadow:0 20px 55px rgba(11,42,91,.12);display:flex;align-items:center;justify-content:center;overflow:hidden}
.dvs-overview .visual img{width:100%;height:380px;object-fit:contain;object-position:center}


.event-principle{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}
.sensor-visual{min-height:430px;padding:30px;border-radius:22px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 45px rgba(0,0,0,.20)}
.sensor-visual img{width:100%;height:350px;object-fit:contain;object-position:center}
.event-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.event-step{padding:26px 24px;border-radius:18px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);min-height:162px}
.event-step .n{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#1688E8;color:#fff;font-size:13px;font-weight:800;margin-bottom:14px}
.event-step h3{font-size:20px;color:#fff;margin:0 0 9px;font-weight:800}
.event-step p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.70);margin:0}
.event-format{margin-top:18px;padding:18px;border-radius:14px;background:rgba(0,174,239,.12);border:1px solid rgba(102,204,255,.24);font-family:monospace;font-size:17px;color:#DDF6FF;text-align:center}


.repr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.repr-card{padding:30px 24px;border-radius:18px;background:#fff;border:1px solid var(--rw-line);min-height:260px}
.repr-card .tag{font-size:12px;font-weight:800;color:var(--rw-blue);letter-spacing:.06em;margin-bottom:14px}
.repr-card h3{font-size:21px;color:var(--rw-navy);margin:0 0 10px;font-weight:800}
.repr-card p{font-size:15px;line-height:1.72;color:#667085;margin:0}
.repr-card code{display:block;margin-top:18px;padding:12px;border-radius:10px;background:#F4F7FB;color:#155AA4;font-size:13px;line-height:1.55}


.sensor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.sensor-card{padding:32px 26px;border-radius:18px;background:#fff;border:1px solid var(--rw-line)}
.sensor-card .num{font-size:13px;font-weight:800;color:var(--rw-blue);margin-bottom:13px}
.sensor-card h3{font-size:21px;color:var(--rw-navy);margin:0 0 10px;font-weight:800}
.sensor-card p{font-size:15px;line-height:1.72;color:#667085;margin:0}


.compare-wrap{overflow:hidden;border-radius:20px;background:#fff;border:1px solid var(--rw-line)}
.compare-row{display:grid;grid-template-columns:1.05fr 1fr 1fr;border-top:1px solid var(--rw-line)}
.compare-row:first-child{border-top:0;background:#EEF4FA}
.compare-cell{padding:20px 24px;font-size:15px;line-height:1.65;color:#5B6878}
.compare-cell:first-child{font-weight:800;color:#344054}
.compare-row:first-child .compare-cell{font-weight:800;color:var(--rw-navy);font-size:16px}
.compare-cell + .compare-cell{border-left:1px solid var(--rw-line)}
.compare-event{font-weight:700;color:#0E5DAF}


.research-flow{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.research-flow .step{position:relative;padding:27px 13px 24px;border-radius:16px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);text-align:center}
.research-flow .step:not(:last-child):after{content:"→";position:absolute;right:-12px;top:50%;transform:translateY(-50%);color:#65CAFF;font-size:21px;font-weight:800;z-index:2}
.research-flow .n{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;background:#1688E8;color:#fff;font-size:12px;font-weight:800;margin-bottom:13px}
.research-flow h3{font-size:16px;line-height:1.35;color:#fff;margin:0 0 7px;font-weight:800}
.research-flow p{font-size:12px;line-height:1.55;color:rgba(255,255,255,.68);margin:0}


.dataset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.dataset-card{padding:30px 24px;border-radius:18px;background:#fff;border:1px solid var(--rw-line)}
.dataset-card .label{font-size:12px;font-weight:800;color:var(--rw-blue);margin-bottom:10px}
.dataset-card h3{font-size:23px;color:var(--rw-navy);margin:0 0 10px;font-weight:800}
.dataset-card p{font-size:14px;line-height:1.7;color:#667085;margin:0}


.focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.focus-card{padding:30px 24px;border-radius:18px;background:#fff;border:1px solid var(--rw-line)}
.focus-card .n{font-size:13px;font-weight:800;color:var(--rw-blue);margin-bottom:12px}
.focus-card h3{font-size:20px;color:var(--rw-navy);margin:0 0 10px;font-weight:800}
.focus-card p{font-size:14px;line-height:1.7;color:#667085;margin:0}


.target-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.target-card{padding:30px 24px;border-radius:18px;background:#fff;border:1px solid var(--rw-line);text-align:center}
.target-card .value{font-size:32px;line-height:1.1;font-weight:800;color:var(--rw-navy);margin-bottom:9px}
.target-card .name{font-size:16px;font-weight:800;color:#344054;margin-bottom:8px}
.target-card .desc{font-size:13px;line-height:1.6;color:#7A8797}
.target-note{margin-top:24px;font-size:14px;color:#7A8797;text-align:center}


.dvs-cta{padding:72px 0;background:linear-gradient(135deg,#071A35 0%,#0B2A5B 62%,#13508B 100%);color:#fff}
.dvs-cta .inner{display:flex;justify-content:space-between;align-items:center;gap:40px}
.dvs-cta h2{margin:0 0 12px;font-size:36px;color:#fff;font-weight:800}
.dvs-cta p{margin:0;font-size:17px;line-height:1.7;color:rgba(255,255,255,.78)}
.dvs-cta .buttons{display:flex;gap:12px;flex-wrap:wrap}
.dvs-cta .btn{display:inline-flex;min-width:160px;height:52px;align-items:center;justify-content:center;padding:0 24px;border-radius:10px;text-decoration:none;font-weight:800}
.dvs-cta .btn.white{background:#fff;color:var(--rw-navy)}
.dvs-cta .btn.line{border:1px solid rgba(255,255,255,.45);color:#fff}

@media(max-width:1100px){.research-flow{grid-template-columns:repeat(4,1fr)}.research-flow .step:after{display:none}.repr-grid,.sensor-grid,.dataset-grid,.focus-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){.dvs-overview,.event-principle{grid-template-columns:1fr;gap:36px}
}
@media(max-width:768px){.dvs-section{padding:72px 0}.dvs-title h2,.dvs-overview .copy h2{font-size:32px}.event-steps,.repr-grid,.sensor-grid,.dataset-grid,.focus-grid,.target-grid,.research-flow{grid-template-columns:1fr}.dvs-overview .visual img,.sensor-visual img{height:auto}.compare-row{grid-template-columns:1fr}.compare-cell + .compare-cell{border-left:0;border-top:1px solid var(--rw-line)}.dvs-cta .inner{flex-direction:column;align-items:flex-start}.dvs-cta h2{font-size:30px}
}
