/* Node Haven Cloud: a separate business presentation for the full client area. */
html:has(body.nh-business) { background: #f5f7fa; }
body.nh-business { margin: 0; background: hsl(var(--color-background)); color: hsl(var(--color-base)); font-family: Inter, "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif; line-height: 1.6; }
.nh-business *, .nh-business *::before, .nh-business *::after { box-sizing: border-box; }
.nh-business [x-cloak] { display: none !important; }
.nh-business a { text-underline-offset: .22em; }
.nh-business :focus-visible { outline: 3px solid #477bad; outline-offset: 4px; }
.nh-business .container { max-width: 1240px; }
.nh-container { width: min(1160px, calc(100% - 56px)); margin-inline: auto; }
.nh-content { min-width: 0; }
.nh-main { min-height: 55vh; }
.nh-header { position: sticky; top: 0; z-index: 45; flex: 0 0 auto; border-bottom: 1px solid hsl(var(--color-neutral)); background: hsl(var(--color-background-secondary)); }
.nh-nav-wrap { width: min(1280px, calc(100% - 48px)); margin-inline: auto; min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nh-brand { display: inline-flex; align-items: center; gap: 11px; color: hsl(var(--color-base)); text-decoration: none; flex-shrink: 0; }
.nh-mark { width: 36px; height: 36px; color: hsl(var(--color-primary)); }
.nh-brand > span { font-size: 17px; line-height: 1.12; font-weight: 720; letter-spacing: -.035em; }
.nh-brand small { display: block; margin-top: 5px; font-size: 10px; font-weight: 600; letter-spacing: .23em; text-transform: uppercase; }
.nh-desktop-nav, .nh-nav-actions { display: flex; align-items: center; gap: 25px; }
.nh-desktop-nav a, .nh-nav-actions > a { font-size: 13px; font-weight: 560; text-decoration: none; }
.nh-desktop-nav a { color: hsl(var(--color-muted)); }
.nh-desktop-nav a:hover { color: hsl(var(--color-primary)); }
.nh-nav-actions { gap: 17px; }
.nh-nav-logout button { font-size: 12px; padding: 8px 0; }
.nh-button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 48px; padding: 13px 21px; background: #214d78; color: #fff !important; border: 1px solid #214d78; border-radius: 5px; font-size: 13px; font-weight: 650; text-decoration: none; line-height: 1.4; transition: background .15s, border-color .15s; }
.nh-button:hover { background: #173b5d; border-color: #173b5d; }
.nh-button-outline { background: transparent; color: hsl(var(--color-base)) !important; border-color: hsl(var(--color-neutral)); }
.nh-button-outline:hover { color: hsl(var(--color-base)) !important; background: hsl(var(--color-background)); border-color: #6b839a; }
.nh-button-small { min-height: 39px; padding: 9px 14px; font-size: 12px; }
.nh-button-wide { width: 100%; justify-content: space-between; }
.nh-text-link { display: inline-flex; align-items: center; gap: 10px; color: hsl(var(--color-primary)); font-size: 13px; font-weight: 650; text-decoration: none; }
.nh-text-link:hover { text-decoration: underline; }
.nh-menu-button { display: none; border: 1px solid hsl(var(--color-neutral)); border-radius: 4px; padding: 6px 10px; font-size: 12px; }
.nh-mobile-nav { display: none; border-top: 1px solid hsl(var(--color-neutral)); padding: 12px 24px 20px; }
.nh-mobile-nav a { display: block; padding: 9px 0; color: hsl(var(--color-base)); text-decoration: none; font-size: 14px; }
.nh-hero { display: grid; grid-template-columns: 1.35fr 1fr; gap: 90px; align-items: center; padding-block: 84px 86px; }
.nh-eyebrow { margin: 0 0 20px; color: hsl(var(--color-primary)); font-size: 10px; font-weight: 720; text-transform: uppercase; letter-spacing: .17em; }
.nh-hero h1 { margin: 0 0 25px; font-size: clamp(38px, 4.5vw, 59px); line-height: 1.08; letter-spacing: -.055em; font-weight: 710; }
.nh-lead { max-width: 520px; color: hsl(var(--color-muted)); font-size: 16px; line-height: 1.85; }
.nh-action-row { display: flex; flex-wrap: wrap; align-items: center; gap: 25px; margin-top: 30px; }
.nh-hero-facts { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 38px; color: hsl(var(--color-muted)); font-size: 11px; }
.nh-hero-facts span::before { content: "✓"; margin-right: 7px; color: hsl(var(--color-primary)); }
.nh-plan-feature { padding: 29px 31px; background: hsl(var(--color-background-secondary)); border: 1px solid hsl(var(--color-neutral)); border-top: 3px solid #214d78; border-radius: 6px; box-shadow: 0 15px 40px #15344c08; }
.nh-plan-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nh-plan-top .nh-eyebrow { margin-bottom: 15px; font-size: 9px; }
.nh-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #7a8ea1; margin-bottom: 15px; }
.nh-plan-feature h2 { margin: 0 0 12px; font-size: 21px; letter-spacing: -.035em; font-weight: 650; }
.nh-plan-price { margin: 0; font-size: 44px; line-height: 1.25; letter-spacing: -.04em; font-weight: 650; }
.nh-plan-price span { margin-left: 6px; font-size: 12px; font-weight: 440; letter-spacing: 0; color: hsl(var(--color-muted)); }
.nh-plan-caption { margin: 9px 0 22px; font-size: 11px; color: hsl(var(--color-muted)); }
.nh-spec-list { margin: 0 0 23px; border-top: 1px solid hsl(var(--color-neutral)); }
.nh-spec-list > div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid hsl(var(--color-neutral)); font-size: 12px; }
.nh-spec-list dt { color: hsl(var(--color-muted)); }.nh-spec-list dd { margin: 0; font-weight: 580; text-align: right; }
.nh-fine-print { margin: 14px 0 0; font-size: 10px; line-height: 1.7; color: hsl(var(--color-muted)); }
.nh-proof-strip { border-block: 1px solid hsl(var(--color-neutral)); background: hsl(var(--color-background-secondary)); }
.nh-proof-strip > div { display: grid; grid-template-columns: repeat(3,1fr); padding-block: 24px; gap: 30px; }
.nh-proof-strip strong, .nh-proof-strip span { display: block; font-size: 12px; }.nh-proof-strip span { margin-top: 4px; color: hsl(var(--color-muted)); }
.nh-section { padding-block: 78px; }.nh-section-heading { margin-bottom: 38px; }
.nh-section h2, .nh-network-band h2, .nh-page h1, .nh-page h2 { letter-spacing: -.035em; font-weight: 650; line-height: 1.25; }
.nh-section h2 { font-size: 32px; margin: 0; }.nh-section-heading .nh-eyebrow { margin-bottom: 15px; }
.nh-feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 38px; }
.nh-feature-grid article { padding-top: 22px; border-top: 1px solid hsl(var(--color-neutral)); }
.nh-feature-number { display: block; color: hsl(var(--color-muted)); font-size: 11px; margin-bottom: 20px; }
.nh-feature-grid h3 { font-size: 16px; font-weight: 650; line-height: 1.5; margin: 0 0 12px; letter-spacing: -.02em; }
.nh-feature-grid p, .nh-network-band p { font-size: 13px; line-height: 1.85; color: hsl(var(--color-muted)); }.nh-feature-grid .nh-text-link { margin-top: 8px; }
.nh-network-band { border-block: 1px solid hsl(var(--color-neutral)); padding-block: 49px; background: hsl(var(--color-background-secondary)); }
.nh-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; }
.nh-network-band h2 { margin: 0; font-size: 31px; }.nh-network-band .nh-eyebrow { margin-bottom: 14px; }.nh-network-band .nh-button { margin-top: 12px; }
.nh-footer { margin-top: 72px; border-top: 1px solid hsl(var(--color-neutral)); padding-top: 43px; background: hsl(var(--color-background-secondary)); }
.nh-cloud-home + .nh-footer { margin-top: 0; }
.nh-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 45px; padding-bottom: 36px; }
.nh-footer-brand { color: hsl(var(--color-base)); font-weight: 700; text-decoration: none; font-size: 15px; letter-spacing: -.02em; }
.nh-footer p { font-size: 11px; color: hsl(var(--color-muted)); margin: 8px 0 0; }
.nh-footer nav { display: flex; flex-direction: column; align-items: start; gap: 11px; }.nh-footer nav a { color: hsl(var(--color-muted)); font-size: 11px; text-decoration: none; }.nh-footer nav a:hover { text-decoration: underline; }
.nh-footer-bottom { border-top: 1px solid hsl(var(--color-neutral)); display: flex; justify-content: space-between; gap: 18px; padding-block: 17px; font-size: 10px; color: hsl(var(--color-muted)); }.nh-footer-bottom a { color: inherit; text-decoration: none; }
.nh-page { padding-block: 55px 70px; }.nh-page h1 { font-size: clamp(30px, 4vw, 43px); margin: 0 0 23px; }.nh-page h2 { font-size: 23px; margin: 30px 0 14px; }
.nh-page-intro { max-width: 760px; }.nh-page-intro > p:not(.nh-eyebrow) { color: hsl(var(--color-muted)); max-width: 690px; font-size: 15px; line-height: 1.9; }
.nh-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-top: 35px; }
.nh-info-panel { padding: 27px; background: hsl(var(--color-background-secondary)); border: 1px solid hsl(var(--color-neutral)); border-radius: 6px; }
.nh-info-panel h2 { margin-top: 0; font-size: 20px; }.nh-info-panel h3 { font-size: 15px; margin-bottom: 12px; font-weight: 650; }
.nh-info-panel p, .nh-info-panel li { font-size: 13px; line-height: 1.9; color: hsl(var(--color-muted)); }.nh-info-panel ul { padding-left: 19px; list-style: disc; margin: 15px 0; }
.nh-info-panel .nh-button { margin-top: 15px; }.nh-probe-result { margin-top: 18px; min-height: 24px; font-size: 14px; font-variant-numeric: tabular-nums; }
.nh-business .bg-primary-800, .nh-business .bg-primary-900, .nh-business .bg-primary-700 { background: hsl(var(--color-background-secondary)); }
.nh-business .bg-primary-500, .nh-business .bg-primary-600 { background: #214d78; color: #fff; }
.nh-business .text-primary-100, .nh-business .text-primary-200, .nh-business .text-secondary-500 { color: hsl(var(--color-primary)); }
.nh-business form#login, .nh-business form#register { border: 1px solid hsl(var(--color-neutral)); box-shadow: 0 10px 30px #14283b05; }
.nh-business .animate-wiggle { animation: none !important; }
.nh-business code, .nh-business pre { font-family: "SFMono-Regular", Consolas, monospace; }.nh-business pre { overflow-x: auto; }
@media (max-width: 1080px) { .nh-desktop-nav { gap: 15px; }.nh-nav-actions { gap: 11px; }.nh-hero { gap: 45px; }.nh-nav-wrap { gap: 15px; }.nh-desktop-nav a { font-size: 12px; } }
@media (max-width: 900px) { .nh-desktop-nav, .nh-nav-logout { display: none; }.nh-menu-button { display: block; }.nh-mobile-nav { display: block; }.nh-hero { gap: 30px; }.nh-hero h1 { font-size: 42px; }.nh-plan-feature { padding: 25px; }.nh-two-column { gap: 35px; } }
@media (max-width: 680px) { .nh-container { width: calc(100% - 36px); }.nh-nav-wrap { width: calc(100% - 30px); min-height: 68px; }.nh-brand { gap: 7px; }.nh-brand > span { font-size: 15px; }.nh-mark { width: 31px; height: 31px; }.nh-nav-actions > .nh-button { display: none; }.nh-hero { grid-template-columns: 1fr; padding-block: 46px; gap: 38px; }.nh-hero h1 { font-size: 43px; }.nh-lead { font-size: 15px; }.nh-hero-facts { gap: 15px; margin-top: 28px; }.nh-proof-strip > div { grid-template-columns: 1fr; gap: 20px; }.nh-section { padding-block: 48px; }.nh-section h2 { font-size: 28px; }.nh-feature-grid, .nh-two-column, .nh-info-grid { grid-template-columns: 1fr; gap: 28px; }.nh-feature-grid article { padding-top: 18px; }.nh-feature-number { margin-bottom: 12px; }.nh-network-band { padding-block: 35px; }.nh-network-band h2 { font-size: 28px; }.nh-footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }.nh-footer-grid > div:first-child { grid-column: 1/-1; }.nh-footer-bottom { flex-direction: column; gap: 6px; }.nh-page { padding-block: 38px; }.nh-page h1 { font-size: 34px; } }
@media (prefers-reduced-motion: reduce) { .nh-business *, .nh-business *::before, .nh-business *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
