/* NW-120 — ecosystem service candidate. Every rule is page-scoped; accepted shared files are unchanged. */
.nw120-review .uf-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--green-deep);font-size:10px;font-weight:700;letter-spacing:.14em;line-height:1.5;text-transform:uppercase}
.nw120-review .uf-kicker::before{content:"";width:24px;height:1px;flex:none;background:var(--green)}
.nw120-review .uf-icon{width:25px;height:25px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.nw120-review .uf-icon-tile{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid #dce7d3;background:#f0f7e9;color:#6b9e4e;border-radius:12px}
.nw120-review .uf-hero{padding:24px 0 64px}
.nw120-review .uf-hero .service-breadcrumb{margin-bottom:44px}
.nw120-review .uf-hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:78px;align-items:center}
.nw120-review .uf-hero h1{font-size:clamp(42px,3.6vw,58px);font-weight:730;line-height:1.06;letter-spacing:-.043em;max-width:800px;margin:18px 0 26px}
.nw120-review .uf-lead p{font-size:14px;line-height:1.85;margin:0 0 16px;max-width:750px}
.nw120-review main .uf-actions{display:flex;flex-wrap:wrap;gap:13px;align-items:center;margin:29px 0 0}
.nw120-review main .uf-actions br{display:none}
.nw120-review main .uf-actions .button{font-size:12px;font-weight:650;min-height:46px;padding:12px 20px;line-height:1.5;text-decoration:none}
.nw120-review main .uf-actions .button-secondary{color:#254729;background:#fff;border:1px solid #bfd2b7;box-shadow:none}
.nw120-review main .uf-actions .button-secondary:hover{color:#173d1a;background:#f6faf2}
.nw120-review .uf-topology{margin:0;justify-self:end;width:100%;max-width:510px;border:1px solid #dce7df;border-radius:19px;overflow:hidden;background:rgba(255,255,255,.97);box-shadow:0 18px 44px #29512e09}
.nw120-review .uf-topology-heading{display:flex;align-items:center;gap:12px;padding:19px 25px;border-bottom:1px solid #e5ece7;color:#4e7145;font-size:12px;font-weight:550}
.nw120-review .uf-topology-body{padding:23px 25px 21px}
.nw120-review .uf-internet{display:flex;align-items:center;justify-content:center;gap:9px;color:#527463;font-size:12px;line-height:1.5}
.nw120-review .uf-internet .uf-icon{width:25px;height:25px}
.nw120-review .uf-connector{width:1px;height:17px;background:#b0c8a4;margin:0 auto}
.nw120-review .uf-node{display:flex;align-items:center;gap:14px;border:1px solid #dce6d5;border-radius:11px;padding:13px 18px;background:#f6faef;margin:0 30px}
.nw120-review .uf-node-switch{background:#f4f8fb;border-color:#dbe6ed}
.nw120-review .uf-node-switch .uf-icon-tile{background:#edf4f9;border-color:#d9e6ef;color:#598cb0}
.nw120-review .uf-node strong{display:block;font-size:15px;line-height:1.4;color:#2d4a39;font-weight:650}
.nw120-review .uf-node span:not(.uf-icon-tile){display:block;color:#718175;font-size:10px;line-height:1.6;margin-top:4px}
.nw120-review .uf-node .uf-icon-tile{width:37px;height:37px;border-radius:10px}
.nw120-review .uf-node .uf-icon{width:22px;height:22px}
.nw120-review .uf-branches{height:24px;position:relative;margin:0 16.666%}
.nw120-review .uf-branches::before{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;border:1px solid #b0c8a4;border-bottom:0;border-radius:4px 4px 0 0}
.nw120-review .uf-branches::after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #b0c8a4}
.nw120-review .uf-endpoints{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.nw120-review .uf-endpoints>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:13px 5px;border:1px solid #dde7da;border-radius:10px;background:#fafcf8;color:#598154;min-width:0}
.nw120-review .uf-endpoints strong{font-size:11px;line-height:1.5;color:#385244;text-align:center;font-weight:550}
.nw120-review .uf-segmentation{font-size:10px;color:#6d8070;text-align:center;line-height:1.6;margin:13px 0 19px}
.nw120-review .uf-control{display:flex;align-items:center;gap:13px;border-top:1px solid #e5ece7;padding-top:17px;color:#729567}
.nw120-review .uf-control strong{display:block;font-size:12px;color:#446343;font-weight:550;line-height:1.5}
.nw120-review .uf-control span{display:block;font-size:10px;color:#738275;line-height:1.5;margin-top:3px}
.nw120-review .uf-topology figcaption{padding:12px 25px;border-top:1px solid #e5ece7;background:#fafcf8;color:#6d8068;font-size:10px;line-height:1.6}
.nw120-review .uf-section{padding:0 0 64px;background:#fff;scroll-margin-top:105px}
.nw120-review .uf-first{padding-top:64px}
.nw120-review .uf-section h2{font-size:34px;line-height:1.14;letter-spacing:-.033em;font-weight:700;margin:15px 0 25px}
.nw120-review .uf-section p,.nw120-review .uf-section li{font-size:13px;line-height:1.85;color:var(--muted)}
.nw120-review .uf-section p{margin:0 0 16px}
.nw120-review .uf-section .uf-note{border-left:2px solid #7caf59;padding-left:17px;font-size:12px;line-height:1.8;margin:23px 0 0;color:#64765c}
.nw120-review .uf-architecture-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:35px;row-gap:0;list-style:none;padding:0;margin:22px 0 0}
.nw120-review .uf-architecture-list li{display:flex;gap:16px;align-items:center;border-top:1px solid #e3eade;padding:17px 0;min-width:0}
.nw120-review .uf-architecture-list .uf-icon{width:27px;height:27px;color:#739761}
.nw120-review .uf-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:stretch}
.nw120-review .uf-card{border:1px solid #dfe7da;border-radius:15px;padding:32px 35px;background:#f9fbf7;min-width:0}
.nw120-review .uf-card>.uf-icon-tile{margin-bottom:19px}
.nw120-review .uf-card h2{font-size:27px;line-height:1.18;margin:0 0 23px;max-width:640px}
.nw120-review .uf-card p:last-child{margin-bottom:0}
.nw120-review .uf-scenarios{grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr)}
.nw120-review .uf-migration{background:#f6f9fb;border-color:#dce6ec}
.nw120-review .uf-migration>.uf-icon-tile{background:#edf4f9;color:#598cb0;border-color:#dbe7ef}
.nw120-review .uf-list{margin:16px 0 0;padding:0;list-style:none}
.nw120-review .uf-list li{position:relative;padding:6px 0 6px 24px;line-height:1.7;font-size:13px;min-width:0}
.nw120-review .uf-list li::before{content:"";position:absolute;left:0;top:13px;width:8px;height:8px;border:1px solid #a3bf92;border-radius:2px}
.nw120-review .uf-migration-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.nw120-review .uf-new-install{display:flex;flex-direction:column}
.nw120-review .uf-card .uf-card-callout{border-top:1px solid #e0e8dc;margin-top:6px;padding-top:20px}
.nw120-review .uf-design-path{display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:24px;max-width:250px;color:#71975e}
.nw120-review .uf-design-path .uf-icon{width:44px;height:44px;padding:10px;background:#f0f6e9;border:1px solid #dce7d3;border-radius:10px}
.nw120-review .uf-design-path i{flex:1;min-width:12px;height:1px;border-top:1px dashed #a9c396}
.nw120-review .uf-config-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;margin-top:18px}
.nw120-review .uf-config-list li{padding-top:11px;padding-bottom:11px;border-bottom:1px solid #e8eee3}
.nw120-review .uf-config-list li::before{top:18px}
.nw120-review .uf-final-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:50px;border:1px solid #dce7d2;border-radius:16px;padding:39px;background:linear-gradient(112deg,#edf5e3,#f5f9ee)}
.nw120-review .uf-final h2{font-size:32px;margin:0 0 18px}
.nw120-review .uf-final p{margin:0;max-width:850px;font-size:13px}
.nw120-review .uf-final .uf-actions{margin:0;flex-direction:column;align-items:stretch}
.nw120-review .uf-final .uf-actions a{text-align:center;justify-content:center}
.nw120-review main a:focus-visible{outline:3px solid #71a85a;outline-offset:4px;border-radius:3px}
@media(max-width:1279px){
 .nw120-review .uf-hero{padding-bottom:48px}.nw120-review .uf-section{padding-bottom:48px}.nw120-review .uf-first{padding-top:48px}
 .nw120-review .uf-hero-grid{gap:40px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.nw120-review .uf-hero h1{font-size:46px}
 .nw120-review .uf-topology-body{padding:20px}.nw120-review .uf-node{margin:0 15px;padding:12px 15px}
 .nw120-review .uf-scenarios{grid-template-columns:repeat(2,minmax(0,1fr))}.nw120-review .uf-migration-list{grid-template-columns:1fr}
 .nw120-review .uf-card{padding:28px}.nw120-review .uf-architecture-list{gap:0 24px}
}
@media(max-width:1050px){
 .nw120-review .uf-hero-grid{grid-template-columns:1fr;gap:34px}.nw120-review .uf-hero h1{max-width:800px;font-size:46px}
 .nw120-review .uf-topology{justify-self:center;max-width:580px}.nw120-review .uf-node{margin:0 45px}
 .nw120-review .uf-pair{grid-template-columns:1fr}.nw120-review .uf-migration-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nw120-review .uf-architecture-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nw120-review .uf-final-panel{grid-template-columns:1fr;gap:25px;padding:32px}.nw120-review .uf-final .uf-actions{flex-direction:row}
 .nw120-review .uf-section h2{font-size:31px}.nw120-review .uf-card h2{font-size:27px}
 .nw120-review .uf-design-path{margin-top:0}
}
@media(max-width:760px){
 .nw120-review .uf-hero{padding:18px 0 36px}.nw120-review .uf-section{padding-bottom:36px}.nw120-review .uf-first{padding-top:36px}
 .nw120-review .uf-hero .service-breadcrumb{font-size:11px;margin-bottom:30px}.nw120-review .uf-hero-grid{gap:30px}
 .nw120-review .uf-hero h1{font-size:37px;line-height:1.08;letter-spacing:-.041em;margin:17px 0 23px}.nw120-review .uf-lead p{font-size:14px;line-height:1.75}
 .nw120-review main .uf-actions{margin-top:23px;gap:12px}.nw120-review main .uf-actions a{width:100%;white-space:normal;text-align:center;justify-content:center}
 .nw120-review .uf-kicker{font-size:9px;letter-spacing:.11em}
 .nw120-review .uf-topology-heading{padding:17px 19px;font-size:11px;gap:9px}.nw120-review .uf-topology-body{padding:18px}
 .nw120-review .uf-node{margin:0;padding:12px;gap:10px}.nw120-review .uf-node strong{font-size:14px}.nw120-review .uf-endpoints{gap:7px}.nw120-review .uf-endpoints strong{font-size:10px}
 .nw120-review .uf-segmentation{font-size:9px}.nw120-review .uf-control span{font-size:9px}.nw120-review .uf-topology figcaption{font-size:9px;padding:12px 18px}
 .nw120-review .uf-section h2{font-size:28px;margin:13px 0 21px}.nw120-review .uf-section p,.nw120-review .uf-section li{font-size:13px;line-height:1.8}
 .nw120-review .uf-architecture-list,.nw120-review .uf-config-list,.nw120-review .uf-migration-list{grid-template-columns:1fr}
 .nw120-review .uf-architecture-list li{padding:14px 0;font-size:13px;gap:13px}.nw120-review .uf-card{padding:24px}.nw120-review .uf-card h2{font-size:25px;margin-top:0}
 .nw120-review .uf-pair{gap:22px}.nw120-review .uf-section .uf-note{font-size:12px;padding-left:15px}
 .nw120-review .uf-final-panel{padding:27px 24px;gap:22px}.nw120-review .uf-final .uf-actions{margin:0;flex-direction:column}.nw120-review .uf-final h2{font-size:28px}
}
@media(max-width:360px){.nw120-review .uf-hero h1{font-size:32px}.nw120-review .uf-card{padding:21px}.nw120-review .uf-card h2{font-size:23px}.nw120-review .uf-topology-body{padding:15px}.nw120-review .uf-topology-heading{padding:15px;font-size:10px}.nw120-review .uf-topology-heading .uf-icon{width:22px;height:22px}.nw120-review .uf-endpoints>div{padding:11px 3px}.nw120-review .uf-final h2{font-size:26px}}
