/* NX365 homepage v2: section-specific styles (builds on styles.css tokens) */
.h-head{max-width:820px}
.h-head.center{margin-inline:auto;text-align:center}
.h-head .lead{margin-top:20px}
.h-head .h-sub{margin-top:14px;font-size:16px;line-height:1.55;color:var(--muted);text-wrap:pretty}
.h-head .h-sub b{color:var(--fg);font-weight:700}
h2.display.h-title{font-size:clamp(32px,4.2vw,54px)}
.h-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--green)}
.section--light .h-link,.creds .h-link{color:#128235}
.h-link .arr{transition:transform .2s ease}
.h-link:hover .arr{transform:translateX(4px)}
.h-link:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:4px}
.h-kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.section--light .h-kicker{color:#178a37}

/* S2 audience cards */
.prof{gap:10px}
.prof .h-link{margin-top:auto;padding-top:4px}
.prof-list{align-items:stretch}

/* S3 capabilities */
.cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:52px}
.cap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px 30px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s,transform .2s}
.cap:hover{border-color:rgba(46,224,90,.4);transform:translateY(-3px)}
.cap h3{font-size:20px;line-height:1.2;margin-top:8px}
.cap p{color:var(--muted);font-size:15px;line-height:1.55;text-wrap:pretty}
.cap-foot{margin-top:28px;text-align:center;font-size:15px;color:var(--muted)}
@media (max-width:980px){.cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cap-grid{grid-template-columns:minmax(0,1fr)}}

/* S4 how it works */
.hw{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:56px}
.hw::before{content:"";position:absolute;left:4%;right:4%;top:19px;height:2px;border-radius:2px;background:linear-gradient(90deg,#d6d6d0 0 100%);}
.hw::after{content:"";position:absolute;left:4%;top:19px;width:18%;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#2ee05a,transparent);animation:hwFlow 5s linear infinite}
@keyframes hwFlow{from{transform:translateX(0)}to{transform:translateX(420%)}}
.hw-step{position:relative;display:flex;flex-direction:column;gap:14px}
.hw-dot{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#0a0b0c;color:#2ee05a;font-family:var(--mono);font-size:12px;font-weight:700}
.hw-step h3{font-size:22px;letter-spacing:.02em}
.hw-step > p{font-size:15px;line-height:1.5;color:var(--muted);min-height:3em}
.hw-ui{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:6px;box-shadow:0 20px 50px -34px rgba(0,0,0,.35);flex:1;align-content:start}
.hw-ui .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:2px 4px 6px}
.hw-row{display:flex;align-items:center;gap:10px;padding:8px 8px;border-radius:9px;background:#f7f7f4;font-size:13.5px;font-weight:600;color:var(--fg-soft);min-width:0}
.hw-row span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hw-tag{flex:none;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted)}
.hw-tag.ok{color:#128235;border-color:rgba(18,130,53,.35);background:rgba(46,224,90,.1)}
.hw-ic{flex:none!important;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-family:var(--mono);font-size:9.5px;font-weight:700;background:#0a0b0c;color:#fff}
.hw-close{margin:48px auto 0;text-align:center;max-width:34ch;font-family:var(--display);font-weight:800;font-size:clamp(22px,2.6vw,32px);line-height:1.2;letter-spacing:-.015em;text-wrap:balance}
.hw-note{margin-top:14px;text-align:center;font-size:13px;color:var(--faint)}
@media (max-width:1000px){.hw{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}.hw::before,.hw::after{display:none}.hw-step > p{min-height:0}}
@media (max-width:560px){.hw{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.hw::after{animation:none;display:none}}

/* S6 managed service */
.svc{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:clamp(24px,3vw,40px);margin-top:52px;align-items:start}
.svc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.svc-cards .cap{background:#fff}
.svc-price{position:relative;background:#0a0b0c;color:#fff;border-radius:var(--radius-lg);padding:30px 28px;display:flex;flex-direction:column;gap:6px;--fg:#fff;--fg-soft:#dcdee1;--muted:#aeb1b6;--line:#232427;--line-2:#2e3034}
.svc-price .h-kicker{color:#2ee05a}
.svc-num{font-family:var(--display);font-weight:900;font-size:clamp(56px,6vw,76px);line-height:1;letter-spacing:-.03em;margin-top:10px}
.svc-per{font-size:15px;color:#aeb1b6}
.svc-price .btn{margin-top:22px;justify-content:center}
.svc-price .btn-primary{color:#04270f}
.svc-inc{margin-top:18px;border-top:1px solid #2e3034;padding-top:14px}
.svc-inc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:15px;padding:6px 0;border-radius:6px}
.svc-inc summary::-webkit-details-marker{display:none}
.svc-inc summary::after{content:"+";font-family:var(--mono);font-size:18px;color:#2ee05a;transition:transform .2s}
.svc-inc[open] summary::after{transform:rotate(45deg)}
.svc-inc summary:focus-visible{outline:2px solid #2ee05a;outline-offset:3px}
.svc-inc ul{list-style:none;display:grid;gap:9px;margin-top:12px}
.svc-inc li{display:flex;gap:10px;font-size:14.5px;color:#dcdee1}
.svc-inc li::before{content:"✓";color:#2ee05a;font-weight:800}
.svc-inc .h-link{margin-top:14px;color:#2ee05a}
.svc-close{margin:44px auto 0;text-align:center;max-width:40ch;font-family:var(--display);font-weight:800;font-size:clamp(20px,2.3vw,28px);line-height:1.25;letter-spacing:-.01em;text-wrap:balance}
@media (max-width:1000px){.svc{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.svc-cards{grid-template-columns:minmax(0,1fr)}}

/* S7 networks */
.net{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:center}
.net .lead{margin-top:20px}
.net-art{position:relative;border-radius:var(--radius-lg);background:var(--bg-2);padding:22px}
.net-art::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--nxA),#ff3b3b,#ff8a1c,#ffe600,#2ee05a,#00d4ff,#2b6bff,#b14dff,#ff3bd0,#ff3b3b);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:nxRing 6s linear infinite}
.net-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line-2)}
.net-bar b{font-family:var(--display);font-size:16px}
.net-bar .hw-tag{color:#2ee05a;border-color:rgba(46,224,90,.35)}
.net-std{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 16px}
.net-std > span{font-size:12.5px;font-weight:600;color:var(--fg-soft);padding:6px 10px;border-radius:999px;border:1px dashed #3a3c41}
.net-firms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.net-firm{border-radius:12px;border:1px solid var(--line);background:var(--bg-1);padding:12px;display:grid;gap:8px}
.net-firm b{font-size:13.5px;font-weight:700}
.net-firm i{font-style:normal;font-size:12px;color:var(--muted);line-height:1.35}
.net-firm .bars{display:flex;gap:4px}
.net-firm .bars span{height:5px;border-radius:3px;background:#2e3034;flex:1}
.net-firm .bars span:first-child{background:#2ee05a;flex:1.4}
.net-cap{margin-top:14px;font-size:12.5px;color:var(--faint);text-align:center}
@media (max-width:900px){.net{grid-template-columns:minmax(0,1fr)}}
@media (max-width:460px){.net-firms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.net-art::before{animation:none}}

/* S8 final CTA */
.h-final .support{margin-top:26px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.h-final .hero-cta{justify-content:center}

/* v3 additions */
.m365{margin:44px auto 0;max-width:960px;display:grid;justify-items:center}
.m365-apps{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.m365-apps > span{padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line-2);font-size:14px;font-weight:600;color:var(--fg-soft)}
.m365-apps span.cp{border-color:rgba(46,224,90,.45);color:var(--fg)}
.m365-link{width:2px;height:28px;background:linear-gradient(var(--line-2),var(--green))}
.m365-layer{position:relative;width:100%;border-radius:14px;background:var(--bg-2);padding:16px 22px;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 16px;text-align:center}
.m365-layer::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--nxA),#ff3b3b,#ff8a1c,#ffe600,#2ee05a,#00d4ff,#2b6bff,#b14dff,#ff3bd0,#ff3b3b);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:nxRing 6s linear infinite}
.m365-layer b{font-family:var(--display);font-size:18px}
.m365-layer > span{font-size:14.5px;color:var(--muted)}
.m365-note{margin:22px auto 0;max-width:720px;text-align:center;font-size:15.5px;line-height:1.55;color:var(--muted);text-wrap:pretty}
.m365-note b{color:var(--fg);font-weight:600}
.cap--own{border-color:rgba(46,224,90,.45)}
.hw-out .hw-row{background:rgba(46,224,90,.1);color:#0a0b0c}
.hw-out .hw-row::before{content:"✓";flex:none;font-weight:800;color:#128235}
.hw-step--out .hw-dot{background:#2ee05a;color:#04270f}
.acq2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:end}
.acq2 .lead{margin-top:20px}
.acq-sub{margin-top:16px;font-size:16px;line-height:1.6;color:var(--muted);text-wrap:pretty}
.acq-out{margin-top:0;gap:10px}
.acq-out li{font-size:15.5px}
.tr{margin-top:52px;display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr);align-items:stretch}
.tr-stage{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-1)}
.tr-stage p{font-size:14px;color:var(--muted);line-height:1.5;margin-top:auto}
.tr-firms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tr-firm,.tr-group{display:grid;gap:6px;padding:12px;border-radius:12px;background:var(--surface);border:1px dashed #3a3c41}
.tr-firm b,.tr-hub b,.tr-group b{font-family:var(--display);font-size:14.5px;line-height:1.25}
.tr-firm > span,.tr-group > span{font-size:12.5px;color:var(--muted)}
.tr-group{border-style:solid;border-color:rgba(46,224,90,.4)}
.tr-stage--hub{position:relative;border-color:transparent;background:var(--bg-2)}
.tr-stage--hub::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--nxA),#ff3b3b,#ff8a1c,#ffe600,#2ee05a,#00d4ff,#2b6bff,#b14dff,#ff3bd0,#ff3b3b);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:nxRing 6s linear infinite}
.tr-hub{display:grid;gap:8px}
.tr-hub > span{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--fg-soft)}
.tr-hub > span::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--green)}
.tr-arrow{position:relative;align-self:center;height:2px;background:var(--line-2);overflow:hidden}
.tr-arrow::after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:var(--green);animation:trMove 2.6s ease-in-out infinite}
@keyframes trMove{to{left:100%}}
.tr-cta{justify-content:center;margin-top:32px}
.svc-big{font-family:var(--display);font-weight:800;font-size:clamp(28px,3vw,36px);line-height:1.1;letter-spacing:-.02em;margin-top:10px}
.svc-per{margin-top:8px;font-size:15px;line-height:1.5;color:#aeb1b6}
.svc-price .h-link{margin-top:14px;color:#2ee05a}
.net-firm--new{border-style:dashed;border-color:rgba(46,224,90,.45)}
@media (max-width:1000px){.tr{grid-template-columns:minmax(0,1fr);row-gap:0}.tr-arrow{justify-self:center;width:2px;height:28px}.tr-arrow::after{left:0;top:-40%;width:100%;height:40%;animation-name:trMoveV}@keyframes trMoveV{to{top:100%}}}
@media (max-width:900px){.acq2{grid-template-columns:minmax(0,1fr);align-items:start}}
@media (max-width:420px){.tr-firms{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.tr-arrow::after,.m365-layer::before,.tr-stage--hub::before{animation:none}}

.h-ticks{list-style:none;display:grid;gap:12px;margin-top:28px}
.h-ticks li{display:flex;gap:12px;align-items:flex-start;font-size:16.5px;line-height:1.45;color:var(--fg-soft)}
.h-ticks li::before{content:"✓";flex:none;width:22px;height:22px;margin-top:1px;border-radius:6px;display:grid;place-items:center;font-size:12px;font-weight:800;background:rgba(46,224,90,.14);color:var(--green)}
.net .hero-cta{margin-top:32px}
.acq-out{margin-top:0;gap:10px}
.acq-out li{font-size:15.5px}

.h-final{background:#f5f5f2}
.h-final .cta-band{background:#0a0b0c}
.h-lockup{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 24px}
.h-word{font-family:var(--display);font-size:34px;font-weight:400;letter-spacing:-.01em;line-height:1;color:#fff}
.h-word b{font-weight:800;color:#2ee05a}

/* 2b why it matters */
.bx-cards{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1.08fr);align-items:stretch;margin-top:48px}
.bx-card{position:relative;border-radius:var(--radius-lg);padding:26px 24px 28px;display:flex;flex-direction:column;gap:10px}
.bx-card h3{font-size:22px;line-height:1.2;letter-spacing:-.01em;text-wrap:balance}
.bx-card ul{list-style:none;display:grid;gap:10px;margin-top:8px}
.bx-card li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45;text-wrap:pretty}
.bx-card li::before{flex:none;width:20px;height:20px;margin-top:1px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:800}
.bx-card--today{background:#fff;border:1px solid #e3e3de}
.bx-card--today .h-kicker{color:#6b6e73}
.bx-card--today h3{color:#2a2c30}
.bx-card--today li{color:#55585e}
.bx-card--today li::before{content:"";border:1.5px solid #b9bbb5}
.bx-card--ai{background:#fff;border:1px solid #e3e3de}
.bx-card--ai .h-kicker{color:#6b6e73}
.bx-card--ai h3{color:#2a2c30}
.bx-card--ai li{color:#3a3c41}
.bx-card--ai li::before{content:"✓";background:#ecece8;color:#6b6e73}
.bx-card--ai li.bx-gap{color:#8a3b12;font-weight:600}
.bx-card--ai li.bx-gap::before{content:"!";background:#fbe7d9;color:#b04a14}
.bx-card--nx{background:#0a0b0c;color:#fff}
.bx-card--nx::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--nxA),#ff3b3b,#ff8a1c,#ffe600,#2ee05a,#00d4ff,#2b6bff,#b14dff,#ff3bd0,#ff3b3b);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:nxRing 6s linear infinite}
.bx-card--nx .h-kicker{color:#2ee05a}
.bx-card--nx h3{color:#fff}
.bx-card--nx li{color:#dcdee1}
.bx-card--nx li::before{content:"✓";background:rgba(46,224,90,.18);color:#2ee05a}
.bx-arr{align-self:center;justify-self:center;width:10px;height:10px;border-top:2px solid #b9bbb5;border-right:2px solid #b9bbb5;transform:rotate(45deg)}
.bx-close{margin:44px auto 0;text-align:center;max-width:32ch;font-family:var(--display);font-weight:800;font-size:clamp(22px,2.6vw,32px);line-height:1.2;letter-spacing:-.015em;text-wrap:balance}
@media (max-width:980px){.bx-cards{grid-template-columns:minmax(0,1fr);row-gap:0;max-width:560px;margin-inline:auto}.bx-arr{margin:12px 0;transform:rotate(135deg)}}
@media (prefers-reduced-motion:reduce){.bx-card--nx::after{animation:none}}
