/* NW-100 pillar hub — page-specific composition.
   No selector applies to the accepted Home or Wi-Fi pages. */
.pillar-review .hub-canvas{background:linear-gradient(114deg,#f8fbf6 3%,#f4f9f8 56%,#edf5f8 100%)}
.pillar-review .hub-hero{padding:22px 0 64px;position:relative;background:linear-gradient(114deg,#f8fbf6 3%,#f4f9f8 56%,#edf5f8 100%)}
.pillar-review .hub-hero .service-breadcrumb{margin-bottom:40px}
.pillar-review .hub-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:76px;align-items:center}
.pillar-review .hub-hero-copy h1{font-size:clamp(42px,3.65vw,58px);font-weight:730;line-height:1.045;letter-spacing:-.043em;margin:18px 0 25px;max-width:720px;text-wrap:balance}
.pillar-review .hub-hero-copy .accent-word{display:block}
.pillar-review .hub-lead p{font-size:15px;line-height:1.75;max-width:660px;margin:0 0 15px}
.pillar-review .hub-hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:27px}
.pillar-review .hub-hero-actions p{margin:0}
.pillar-review .hub-inline-action{font-size:12px;color:var(--green-deep);font-weight:600;padding:10px 0;display:inline-flex;gap:10px;align-items:center}
.pillar-review .hub-inline-action:hover{text-decoration:underline;text-underline-offset:4px}
/* Semantic, static architecture illustration; no simulated operational metrics. */
.pillar-review .hub-topology{width:100%;max-width:630px;justify-self:end;margin:0;border:1px solid #dce7e0;border-radius:19px;box-shadow:0 22px 56px rgba(29,63,55,.10);overflow:hidden;background:rgba(255,255,255,.93)}
.pillar-review .hub-diagram-head{display:flex;align-items:center;gap:10px;padding:18px 22px;border-bottom:1px solid #e7eeea;color:var(--ink);font-size:12px;font-weight:650}
.pillar-review .hub-diagram-icon{display:flex;color:var(--green-deep)}
.pillar-review .hub-diagram-tag{margin-left:auto;font-size:10px;font-weight:500;border-radius:20px;padding:5px 10px;background:#eff7ec;color:#43723e}
.pillar-review .hub-topology-body{padding:24px 32px 0;position:relative;background:radial-gradient(ellipse at center,#f1f8f2 0%,#fff 80%)}
.pillar-review .hub-node{border:1px solid #dce6df;background:#fff;border-radius:11px;padding:11px 14px;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;min-height:49px}
.pillar-review .hub-node>span{display:flex;color:var(--green-deep)}
.pillar-review .hub-node svg{width:20px;height:20px}
.pillar-review .hub-node strong{font-size:12px;font-weight:600}
.pillar-review .hub-node-internet{width:150px;margin:auto;border:0;padding:5px;min-height:34px;background:transparent;color:#5e7069}
.pillar-review .hub-node-core,.pillar-review .hub-node-switch{max-width:268px;margin:0 auto;box-shadow:0 5px 16px rgba(36,70,45,.04)}
.pillar-review .hub-node-core{border-color:#aaca9c}
.pillar-review .hub-connector{height:18px;width:1px;margin:auto;background:#abc9ae}
.pillar-review .hub-branch{height:26px;position:relative;margin:0 14.5%}
.pillar-review .hub-branch::before{content:'';position:absolute;top:0;left:50%;height:26px;width:1px;background:#abc9ae}
.pillar-review .hub-branch::after{content:'';position:absolute;left:0;right:0;bottom:0;height:12px;border:1px solid #abc9ae;border-bottom:0;border-radius:5px 5px 0 0}
.pillar-review .hub-endpoints{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pillar-review .hub-endpoints .hub-node{flex-direction:column;gap:6px;min-height:75px;padding:12px 8px}
.pillar-review .hub-endpoints .hub-node:nth-child(2)>span{color:#4d7ba1}
.pillar-review .hub-endpoints .hub-node:nth-child(3)>span{color:#688778}
.pillar-review .hub-diagram-footer{border-top:1px dashed #dbe5de;display:flex;align-items:center;justify-content:center;gap:9px;padding:16px 0;margin-top:21px;font-size:11px;color:#63766a}
.pillar-review .hub-diagram-footer svg{width:18px;height:18px}
.pillar-review .hub-topology figcaption{border-top:1px solid #e7eeea;padding:12px 22px;font-size:10px;color:#66776c}
/* Common spacing, scale and existing visual vocabulary. */
.pillar-review .hub-section{padding:64px 0;background:#fff;scroll-margin-top:108px}
.pillar-review main h2{font-size:clamp(28px,2.6vw,38px);font-weight:690;letter-spacing:-.035em;line-height:1.12;margin:12px 0 22px}
.pillar-review main h3{font-weight:650;font-size:20px;letter-spacing:-.023em;line-height:1.25}
.pillar-review .hub-intro-grid{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:88px;align-items:start}
.pillar-review .hub-intro-prose{padding-top:38px}
.pillar-review .hub-intro-prose p:last-child{margin-bottom:0}
.pillar-review .hub-architecture-list{margin-top:26px}
.pillar-review .hub-layers{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:0}
.pillar-review .hub-layers li{padding:18px 19px 18px 42px;border:1px solid #e4eae6;border-radius:12px;position:relative;font-size:13px;line-height:1.6;background:linear-gradient(130deg,#f9fbf8,#fff)}
.pillar-review .hub-layers li::before{content:'';width:7px;height:7px;border-radius:50%;background:#75b65b;position:absolute;top:25px;left:21px}
.pillar-review .hub-tail-note{font-size:13px;border-left:2px solid #d5e5ce;padding-left:18px;margin:0}
/* Original summaries remain in source order: 3 implementation services, then 2 managed routes. */
.pillar-review .hub-section-heading{margin-bottom:30px}
.pillar-review .hub-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pillar-review .hub-managed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}
.pillar-review .hub-route-card{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 6px 24px rgba(27,50,39,.035);position:relative;display:flex;flex-direction:column;min-width:0;transition:border-color .18s,box-shadow .18s}
.pillar-review .hub-route-card:hover,.pillar-review .hub-route-card:focus-within{border-color:#9fbe93;box-shadow:0 10px 28px rgba(27,50,39,.085)}
.pillar-review .hub-route-image{height:178px;overflow:hidden;border-radius:13px 13px 0 0}
.pillar-review .hub-route-image img{width:100%;height:100%;object-fit:cover}
.pillar-review .hub-managed-grid .hub-route-image{height:165px}
.pillar-review .hub-route-icon{position:absolute;top:155px;left:22px;width:46px;height:46px;border:5px solid #fff;background:#eef8e9;color:var(--green-deep);border-radius:50%;display:grid;place-items:center}
.pillar-review .hub-managed-grid .hub-route-icon{top:142px}
.pillar-review .hub-route-icon svg{width:22px;height:22px}
.pillar-review .hub-route-grid .hub-route-card:nth-child(2) .hub-route-icon{color:#476f92;background:#edf5fc}
.pillar-review .hub-route-grid .hub-route-card:nth-child(3) .hub-route-icon{color:#567564;background:#eff6f1}
.pillar-review .hub-route-copy{display:flex;flex-direction:column;flex:1;gap:0;padding:35px 24px 24px;min-width:0}
.pillar-review .hub-route-copy h3{font-size:20px;line-height:1.25;margin:0 0 14px;min-height:50px}
.pillar-review .hub-route-copy p{font-size:13px;line-height:1.75;margin:0 0 22px}
.pillar-review .hub-route-link::after{content:'';position:absolute;inset:0;border-radius:14px}
.pillar-review .hub-route-link:focus-visible{outline:none}
.pillar-review .hub-route-link:focus-visible::after{outline:3px solid #348423;outline-offset:4px}
.pillar-review .hub-card-action{display:flex;align-items:center;gap:9px;margin-top:auto;font-size:12px;font-weight:600;color:var(--green-deep)}
.pillar-review .hub-route-card:hover .hub-card-action,.pillar-review .hub-route-card:focus-within .hub-card-action{text-decoration:underline;text-underline-offset:4px}
.pillar-review .hub-card-action>span{transition:transform .18s}
.pillar-review .hub-route-card:hover .hub-card-action>span{transform:translateX(3px)}
.pillar-review .hub-situations-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:72px;align-items:center}
.pillar-review .hub-photo-panel{margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#f5f8f5}
.pillar-review .hub-photo-panel img{width:100%;height:350px;object-fit:cover}
.pillar-review .hub-photo-panel figcaption{padding:24px 27px;display:grid;gap:6px;background:#f7faf7}
.pillar-review .hub-photo-panel figcaption span{font-size:21px;font-weight:600;letter-spacing:-.02em}
.pillar-review .hub-photo-panel figcaption small{font-size:12px;color:var(--muted)}
.pillar-review .hub-situation-list{list-style:none;display:grid;gap:12px;padding:0;margin:20px 0 24px}
.pillar-review .hub-situation-list li{position:relative;padding-left:27px;font-size:13px;line-height:1.6}
.pillar-review .hub-situation-list li::before{content:'✓';position:absolute;top:2px;left:0;width:18px;height:18px;border-radius:50%;background:var(--green-soft);color:var(--green-deep);font-size:11px;text-align:center;line-height:18px;font-weight:750}
.pillar-review .hub-lifecycle{display:flex;align-items:center;gap:12px;max-width:250px;margin-top:26px;color:#4f9562}
.pillar-review .hub-lifecycle svg{width:38px;height:38px;padding:8px;background:var(--green-soft);border-radius:9px;flex:none}
.pillar-review .hub-lifecycle i{border-top:1px dashed #a5c8ad;flex:1}
.pillar-review .hub-store-panel{display:grid;grid-template-columns:56px minmax(0,1fr) 40px;gap:26px;align-items:center;padding:32px 34px;border:1px solid #dce8db;border-radius:17px;background:linear-gradient(110deg,#f0f8eb,#f3f9fb);position:relative}
.pillar-review .hub-store-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid #dfebde;background:#fff;color:var(--green-deep);border-radius:14px}
.pillar-review .hub-store-icon svg{width:28px;height:28px}
.pillar-review .hub-store-panel h2{font-size:28px;margin:10px 0 16px}
.pillar-review .hub-store-panel p{max-width:1050px;font-size:13px}
.pillar-review .hub-store-panel p:last-child{margin-bottom:0}
.pillar-review .hub-store-arrow{font-size:30px;color:var(--green-deep);justify-self:end}
.pillar-review .hub-final-section{padding-top:0}
.pillar-review .hub-final-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;border:1px solid #477149;border-radius:17px;padding:40px 42px;position:relative;overflow:hidden;background:linear-gradient(105deg,rgba(34,85,34,.99),rgba(42,91,33,.96) 51%,rgba(43,87,37,.81)),url('../img/hero-building-clean.png') right center/cover no-repeat;color:#fff}
.pillar-review .hub-final-panel h2{color:white;font-size:36px;margin:12px 0 15px}
.pillar-review .hub-final-panel p{color:#e5eee0;max-width:850px}
.pillar-review .hub-cta-kicker{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#d9eccc}
.pillar-review .hub-final-actions p{display:flex;flex-direction:column;gap:15px;align-items:flex-start;margin:0}
.pillar-review .hub-final-actions p a.button{background:white;color:var(--ink);box-shadow:none;font-size:12px;white-space:nowrap;text-decoration:none}
.pillar-review .hub-final-actions p a.hub-final-secondary{color:#fff;font-size:12px;font-weight:500;text-underline-offset:4px;max-width:245px}
.pillar-review .hub-final-actions p a.hub-final-secondary:hover{text-decoration-thickness:2px}
@media(max-width:1279px){
 .pillar-review .hub-section{padding:48px 0}
 .pillar-review .hub-final-section{padding-top:0}
 .pillar-review .hub-hero{padding-bottom:48px}
 .pillar-review .hub-hero-grid{gap:38px}
 .pillar-review .hub-hero-copy h1{font-size:44px}
 .pillar-review .hub-intro-grid{gap:42px}
 .pillar-review .hub-situations-grid{gap:36px}
 .pillar-review .hub-route-copy{padding-inline:20px}
 .pillar-review .hub-topology-body{padding-inline:24px}
 .pillar-review .hub-photo-panel img{height:320px}
 .pillar-review .hub-final-panel{padding:32px;gap:30px}
}
@media(max-width:900px){
 .pillar-review .hub-hero-grid{grid-template-columns:1fr;gap:32px}
 .pillar-review .hub-hero-copy{max-width:720px}
 .pillar-review .hub-hero-copy h1{font-size:46px;max-width:720px}
 .pillar-review .hub-topology{max-width:620px;justify-self:center}
 .pillar-review .hub-intro-grid,.pillar-review .hub-situations-grid{grid-template-columns:1fr;gap:23px}
 .pillar-review .hub-intro-prose{padding-top:0}
 .pillar-review .hub-layers{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pillar-review .hub-route-grid{gap:16px}
 .pillar-review .hub-route-copy{padding-inline:18px}
 .pillar-review .hub-route-copy h3{font-size:18px;min-height:68px}
 .pillar-review .hub-photo-panel{max-width:700px}
 .pillar-review .hub-photo-panel img{height:300px}
 .pillar-review .hub-final-panel{grid-template-columns:1fr;gap:22px}
}
@media(max-width:639px){
 .pillar-review .hub-hero{padding:18px 0 36px}
 .pillar-review .hub-hero .service-breadcrumb{margin-bottom:30px}
 .pillar-review .hub-hero-copy h1{font-size:36px;line-height:1.06;margin-top:15px}
 .pillar-review .hub-lead p{font-size:14px;line-height:1.7}
 .pillar-review .hub-hero-actions{gap:12px;margin-top:22px}
 .pillar-review .hub-hero-actions p{width:100%}
 .pillar-review .hub-hero-actions .button{width:100%}
 .pillar-review .hub-inline-action{margin:auto}
 .pillar-review .hub-diagram-head{padding:16px 15px;font-size:11px;gap:8px}
 .pillar-review .hub-diagram-tag{font-size:9px;padding:4px 7px}
 .pillar-review .hub-topology-body{padding:18px 15px 0}
 .pillar-review .hub-endpoints{gap:8px}
 .pillar-review .hub-node strong{font-size:11px}
 .pillar-review .hub-node-core,.pillar-review .hub-node-switch{max-width:220px}
 .pillar-review .hub-diagram-footer{font-size:10px;gap:7px;margin-top:17px}
 .pillar-review .hub-topology figcaption{padding:11px 15px}
 .pillar-review .hub-section{padding:36px 0}
 .pillar-review main h2{font-size:28px}
 .pillar-review .hub-layers{grid-template-columns:1fr;gap:10px}
 .pillar-review .hub-route-grid,.pillar-review .hub-managed-grid{grid-template-columns:1fr;gap:20px}
 .pillar-review .hub-managed-grid{margin-top:20px}
 .pillar-review .hub-route-copy h3{font-size:21px;min-height:0}
 .pillar-review .hub-route-copy{padding:35px 23px 24px}
 .pillar-review .hub-route-image,.pillar-review .hub-managed-grid .hub-route-image{height:175px}
 .pillar-review .hub-route-icon,.pillar-review .hub-managed-grid .hub-route-icon{top:152px}
 .pillar-review .hub-photo-panel img{height:240px}
 .pillar-review .hub-photo-panel figcaption{padding:21px}
 .pillar-review .hub-photo-panel figcaption span{font-size:20px}
 .pillar-review .hub-store-panel{grid-template-columns:1fr;gap:18px;padding:25px 22px}
 .pillar-review .hub-store-arrow{display:none}
 .pillar-review .hub-store-panel h2{font-size:25px}
 .pillar-review .hub-final-section{padding-top:0}
 .pillar-review .hub-final-panel{padding:29px 24px;gap:25px}
 .pillar-review .hub-final-panel h2{font-size:29px}
 .pillar-review .hub-final-actions p{align-items:stretch}
 .pillar-review .hub-final-actions p a.button{white-space:normal;font-size:12px}
 .pillar-review .hub-final-actions p a.hub-final-secondary{max-width:none}
}
@media(max-width:359px){.pillar-review .hub-hero-copy h1{font-size:32px}.pillar-review .hub-diagram-tag{display:none}}
@media(prefers-reduced-motion:reduce){.pillar-review .hub-route-card,.pillar-review .hub-card-action>span{transition:none}}
