/* Subpage design system: navy / warm paper / restrained gold. Main is independent. */
.nh-global-skip { position: fixed; left: 1rem; top: -8rem; padding: .9rem 1.2rem; background: #fff; color: #0e2044; z-index: 10000; border: 2px solid #8a6a1f; border-radius: 8px; }
.nh-global-skip:focus { top: 1rem; }
.nh-home .nh-global-skip { display: none; }
.nh-subpage { --nh-paper:#faf9f6; --nh-ink:#142b48; --nh-muted:#5d6c80; --nh-line:#dfe5ec; color:#3b4656; background:#fff; line-height:1.8; }
.nh-subpage main { display:block; }
.nh-subpage main [id] { scroll-margin-top:7rem; }
.nh-subpage a:focus-visible, .nh-subpage button:focus-visible, .nh-subpage summary:focus-visible { outline:3px solid #1688bf; outline-offset:4px; }
.nh-subpage :is(input,select,textarea):focus-visible { outline:3px solid #1688bf; outline-offset:2px; }
.nh-subpage :is(.container,.st-stack,.content-grid,.features-grid,.pricing-tabs-section,.tab-content,.contact-info) { min-width:0; }
.nh-breadcrumb { background:#fff; border-bottom:1px solid #edf0f4; }
.nh-breadcrumb > div { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; padding-top:.85rem; padding-bottom:.85rem; font-size:.75rem; color:#67758a; }
.nh-breadcrumb a { color:#53647a; text-decoration:underline; text-underline-offset:3px; }
.nh-breadcrumb strong { color:#243955; font-weight:600; }
.nh-subpage :is(.st-hero,.features-hero,.pricing-hero,.cases-hero,.case-detail-hero,.page-header,.legal-header) { background:radial-gradient(ellipse at 95% 0,#264e68 0,transparent 60%),#0e2044; padding:4.5rem 0; text-align:left; }
.nh-subpage :is(.st-hero,.features-hero,.pricing-hero,.cases-hero,.case-detail-hero,.page-header,.legal-header) h1 { max-width:22em; margin:0 0 1.25rem; font-size:clamp(2rem,4vw,3.3rem); line-height:1.3; letter-spacing:-.045em; color:#fff; text-align:left; }
.nh-subpage :is(.st-hero,.features-hero,.pricing-hero,.cases-hero,.page-header,.legal-header) :is(p,.hero-subtitle,.st-hero-sub) { max-width:46rem; margin-left:0; margin-right:0; color:#d0dbe7; font-size:1.05rem; line-height:1.85; text-align:left; }
.nh-subpage .st-hero .st-stack { align-items:flex-start; text-align:left; }
.nh-subpage :is(.st-hero,.features-hero,.pricing-hero,.cases-hero) :is(.st-eyebrow,.hero-badge) { align-self:flex-start; background:#e4c88d12; border:1px solid #e4c88d55; color:#e4c88d; border-radius:6px; font-size:.78rem; font-weight:700; }
.nh-subpage :is(.features-hero-content,.pricing-hero-content,.cases-hero-content,.case-detail-header) { max-width:none; text-align:left; }
.nh-subpage :is(.st-hero-actions,.st-hero-notes) { justify-content:flex-start; }
.nh-subpage .st-hero-em { color:#e4c88d; font-size:1.2rem; }
.nh-hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.25rem; }
.nh-button { display:inline-flex; align-items:center; justify-content:center; gap:.8rem; padding:.8rem 1.25rem; min-height:48px; border-radius:9px; font-size:.93rem; font-weight:700; text-decoration:none; border:1px solid transparent; }
.nh-button-gold { color:#142b48; background:#e4c88d; }
.nh-button-gold:hover { background:#f2dba9; color:#142b48; }
.nh-button-line { color:#fff; border-color:#ffffff70; }
.nh-button-line:hover { color:#fff; background:#ffffff10; }
.nh-section-nav { background:var(--nh-paper); border-bottom:1px solid var(--nh-line); }
.nh-section-nav > div { display:flex; flex-wrap:wrap; gap:.25rem 1.65rem; padding-top:.65rem; padding-bottom:.65rem; }
.nh-section-nav a { color:#53647a; padding:.55rem 0; font-size:.85rem; font-weight:600; border-bottom:2px solid transparent; }
.nh-section-nav a:hover, .nh-section-nav a[aria-current="location"] { color:#142b48; border-color:#a3813d; }
.nh-subpage :is(.st-section,.features-section,.cases-section,.related-cases,.case-detail-content,.contact-section) { padding-top:4.5rem; padding-bottom:4.5rem; }
.nh-subpage :is(.st-alt,.bg-gray-light,.features-section:nth-of-type(even),.contact-section) { background:var(--nh-paper); }
.nh-subpage .st-section > .container > :is(.st-h2,.st-h3,.st-prose,.st-lead,.st-small,p) { text-align:left; margin-left:0; margin-right:0; }
.nh-subpage .st-section > .container > .st-eyebrow { align-self:flex-start; }
.nh-subpage :is(.st-h2,.section-title,.features-section-title) { font-size:clamp(1.6rem,2.8vw,2.35rem); line-height:1.4; letter-spacing:-.04em; color:var(--nh-ink); }
.nh-subpage .st-prose { max-width:48rem; }
.nh-subpage .st-section > .container > .st-h2 + .st-prose { font-size:1.05rem; color:var(--nh-muted); }
.nh-subpage .st-eyebrow { border-radius:5px; padding:.2rem .65rem; font-size:.76rem; color:#8a6a1f; background:#f6f0e4; }
.nh-subpage :is(.st-card,.feature-card,.case-card,.sidebar-card,.contact-card,.contact-form-wrapper) { border:1px solid var(--nh-line); border-radius:16px; box-shadow:0 4px 18px #142b4806; }
.nh-subpage .st-card { padding:1.7rem; gap:.85rem; }
.nh-subpage :is(.st-h3,.feature-title) { font-size:1.15rem; line-height:1.5; }
.nh-subpage :is(.st-small,.feature-desc) { color:var(--nh-muted); font-size:.93rem; line-height:1.85; }
.nh-subpage .st-tag { border-radius:5px; font-size:.72rem; line-height:1.5; padding:.25rem .55rem; }
.nh-subpage .st-figure { background:#fff; box-shadow:none; border:1px solid var(--nh-line); border-radius:16px; margin-left:0; max-width:100%; }
.nh-subpage .st-figure figcaption { font-size:.8rem; line-height:1.7; }
.nh-subpage :is(.st-statement,.st-note) { border-radius:12px; text-align:left; font-size:1.05rem; line-height:1.8; }
.nh-subpage .st-btn { min-height:48px; padding:.8rem 1.2rem; font-size:.93rem; border-radius:9px; }
.nh-subpage :is(.st-btn-gold,.btn-white) { background:#e4c88d; color:#142b48; box-shadow:none; }
.nh-subpage .st-btn-gold:hover { background:#f2dba9; }
.nh-subpage .st-section > .container > .st-btn { align-self:flex-start; }
.nh-subpage .st-calc { max-width:100%; padding:2rem; border:1px solid #c2d0dd; background:#fff; border-radius:18px; box-shadow:0 12px 40px #142b4808; }
.nh-subpage .st-calc-inputs { padding:1.25rem; background:#f3f6fa; border-radius:12px; }
.nh-subpage :is(.st-calc input,.form-control) { background:#fff; border:1px solid #bac6d4; border-radius:8px; min-height:48px; font-size:1rem; color:#142b48; }
.nh-subpage .st-calc-summary { font-size:1rem; line-height:1.8; border-radius:10px; }
.nh-subpage .nh-result-actions { justify-content:flex-start; }
.nh-subpage .st-guide { max-width:100%; margin-left:0; box-shadow:none; padding:1.75rem; }
.nh-subpage .st-chat { gap:.9rem; }
.nh-subpage .st-bubble { padding:1rem 1.2rem; line-height:1.85; font-size:.95rem; }
.nh-subpage .st-wf-group { width:100%; padding-top:1.5rem; border-top:1px solid var(--nh-line); }
.nh-subpage .st-wf-item { padding:1.2rem; box-shadow:none; border-radius:12px; }
.nh-subpage :is(.st-tablewrap,.feature-table-wrapper,.comparison-table-wrapper,.setup-service-table-wrapper) { border:1px solid var(--nh-line); border-radius:12px; overflow:auto; box-shadow:none; max-width:100%; }
.nh-subpage :is(.st-table,.feature-table,.comparison-table,.setup-service-table) th { font-size:.85rem; }
.nh-subpage :is(.st-table,.feature-table,.comparison-table,.setup-service-table) td { font-size:.9rem; line-height:1.8; }
.nh-subpage .features-grid { gap:1.4rem; }
.nh-subpage .feature-card { padding:1.65rem; background:#fff; }
.nh-subpage .feature-card:hover { transform:none; box-shadow:0 8px 28px #142b480a; }
.nh-subpage .feature-icon-box { background:#edf3f9; color:#254c75; width:48px; height:48px; border-radius:12px; }
.nh-subpage .feature-list li { padding-top:.65rem; padding-bottom:.65rem; }
.nh-subpage .feature-list .item-content strong { font-size:.9rem; }
.nh-subpage .feature-list .item-content > span { font-size:.83rem; line-height:1.8; color:var(--nh-muted); }
.nh-subpage .plan-legend-section { background:var(--nh-paper); }
.nh-subpage .plan-legend { padding:1.5rem 0; }
.nh-subpage .feature-quick-nav { gap:.5rem; }
.nh-subpage .feature-quick-nav a { border:1px solid var(--nh-line); background:#fff; color:#36506e; padding:.5rem .8rem; border-radius:7px; font-size:.8rem; }
.nh-search { margin:1.5rem 0; max-width:40rem; }
.nh-search label { display:block; font-size:.85rem; color:#243955; font-weight:700; margin-bottom:.5rem; }
.nh-search-row { display:flex; gap:.5rem; }
.nh-search input { min-width:0; width:100%; border:1px solid #b9c7d7; background:#fff; border-radius:9px; padding:.8rem 1rem; font-size:1rem; }
.nh-search button { flex:none; border:1px solid var(--nh-line); border-radius:9px; padding:.6rem 1rem; background:#f4f6f9; color:#243955; cursor:pointer; }
.nh-search-status { font-size:.8rem; color:var(--nh-muted); margin-top:.5rem; }
.nh-no-results { padding:1.5rem; border:1px dashed #bdcbd9; border-radius:12px; color:var(--nh-muted); }
.nh-subpage [hidden] { display:none !important; }
.nh-subpage .plan-card { border-radius:16px; border:1px solid var(--nh-line); box-shadow:none; }
.nh-subpage .plan-card:hover { transform:none; }
.nh-subpage .plan-card.recommended { border:2px solid #9b752e; box-shadow:0 8px 28px #9b752e10; transform:none; }
.nh-subpage .plan-badge { border-radius:5px; }
.nh-subpage .plan-cta { border-radius:9px; min-height:48px; }
.nh-subpage .pricing-tabs { justify-content:flex-start; padding:.35rem; background:#eef2f6; border-radius:12px; width:fit-content; border:1px solid var(--nh-line); }
.nh-subpage .tab-button { border-radius:8px; font-size:.95rem; padding:.75rem 1.6rem; }
.nh-subpage .tab-button.active { background:#142b48; color:#fff; box-shadow:none; }
.nh-subpage :is(.pricing-calculator,.calculator-section,.calculator-card) { border-radius:16px; }
.nh-subpage .case-image img { aspect-ratio:16/9; object-fit:cover; }
.nh-subpage .case-content { padding:1.5rem; }
.nh-subpage .case-card:hover { transform:translateY(-3px); box-shadow:0 12px 30px #142b4810; }
.nh-subpage .case-metric { background:#f3f6fa; border-radius:9px; }
.nh-subpage .content-box { border-radius:12px; box-shadow:none; padding:1.5rem; border:1px solid var(--nh-line); }
.nh-subpage .sidebar { top:7rem; }
.nh-subpage .contact-grid { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:2rem; }
.nh-subpage .contact-form-wrapper { padding:2rem; }
.nh-subpage .contact-card { padding:1.5rem; }
.nh-subpage .contact-form-wrapper .form-label { font-size:.88rem; margin-bottom:.5rem; display:block; }
.nh-subpage .contact-form-wrapper textarea { min-height:160px; resize:vertical; }
.nh-subpage .contact-form-wrapper .form-row { gap:1rem; }
.nh-subpage .form-check { display:flex; align-items:flex-start; gap:.6rem; }
.nh-subpage .form-check-input { flex:none; margin-top:.35rem; }
.nh-contact-help { font-size:.83rem; color:#64748b; padding:.85rem 1rem; border-radius:9px; background:#f3f6fa; margin-bottom:1.5rem; }
.nh-subpage .contact-card p { overflow-wrap:anywhere; }
.nh-subpage .contact-card .divider { display:none; }
.nh-subpage .legal-section { background:var(--nh-paper); padding:3rem 0 5rem; }
.nh-subpage .legal-container { max-width:960px; }
.nh-subpage .legal-content { background:#fff; padding:2.5rem; border:1px solid var(--nh-line); border-radius:16px; font-size:.97rem; line-height:1.95; }
.nh-subpage .legal-content h2 { font-size:1.17rem; padding-top:1rem; border-top:1px solid #edf0f4; margin-top:2.5rem; }
.nh-legal-toc { margin:0 0 1.5rem; padding:1.1rem 1.4rem; background:#fff; border:1px solid var(--nh-line); border-radius:12px; }
.nh-legal-toc summary { cursor:pointer; color:#243955; font-weight:700; }
.nh-legal-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem 2rem; list-style:none; padding:1rem 0 0; margin:0; }
.nh-legal-toc a { color:#53647a; font-size:.83rem; text-decoration:underline; text-underline-offset:3px; }
.nh-subpage :is(.st-cta,.final-cta,.cta-section,.pricing-cta-section) { padding:4.5rem 0; background:radial-gradient(ellipse at 80% 0,#264e68 0,transparent 65%),#0e2044; }
.nh-subpage :is(.st-cta,.final-cta,.cta-section,.pricing-cta-section) h2 { color:#fff; max-width:24em; margin-left:auto; margin-right:auto; line-height:1.4; font-size:clamp(1.7rem,3vw,2.5rem); }
.nh-subpage :is(.btn,.plan-cta,.tier-btn,.tab-button) { min-height:44px; }
.nh-subpage .modal-overlay { padding:1rem; overflow-y:auto; }
.nh-subpage .modal-container { max-height:calc(100dvh - 2rem); overflow-y:auto; border-radius:16px; }
.nh-subpage .modal-close { min-width:44px; min-height:44px; }
@media(max-width:900px) {
 .nh-subpage :is(.st-hero,.features-hero,.pricing-hero,.cases-hero,.case-detail-hero,.page-header,.legal-header) { padding:3.5rem 0; }
 .nh-subpage :is(.st-section,.features-section,.cases-section,.related-cases,.case-detail-content,.contact-section) { padding-top:3.5rem; padding-bottom:3.5rem; }
 .nh-subpage .contact-grid { grid-template-columns:minmax(0,1fr); }
 .nh-subpage .content-grid { grid-template-columns:minmax(0,1fr); }
 .nh-subpage .sidebar { position:static; }
 .nh-subpage .st-wf-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .nh-subpage .legal-content { padding:1.75rem; }
}
@media(max-width:600px) {
 .nh-subpage :is(.st-hero,.features-hero,.pricing-hero,.cases-hero,.case-detail-hero,.page-header,.legal-header) h1 { font-size:2rem; }
 .nh-subpage .nh-section-nav > div { flex-wrap:nowrap; overflow-x:auto; gap:1.25rem; }
 .nh-section-nav a { flex:none; }
 .nh-hero-actions { width:100%; flex-direction:column; }
 .nh-subpage :is(.st-grid-2,.st-grid-3,.st-wf-list,.features-grid,.cases-grid,.related-grid,.legal-summary) { grid-template-columns:minmax(0,1fr); }
 .nh-subpage :is(.st-card,.feature-card,.contact-card,.contact-form-wrapper,.st-calc,.st-guide) { padding:1.25rem; }
 .nh-subpage .st-calc-inputs { padding:1rem; }
 .nh-subpage .legal-content { padding:1.25rem; }
 .nh-legal-toc ol { grid-template-columns:minmax(0,1fr); }
 .nh-subpage .contact-form-wrapper .form-row { grid-template-columns:minmax(0,1fr); }
 .nh-subpage .tab-button { padding:.65rem 1rem; }
 .nh-subpage .st-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .nh-subpage .nh-result-actions { align-items:stretch; flex-direction:column; }
 .nh-subpage .nh-result-actions a { text-align:center; }
 .nh-subpage .plan-legend-item { align-items:flex-start; }
 .nh-subpage .legal-table-wrap { max-width:100%; }
}
@media(prefers-reduced-motion:reduce) { .nh-subpage *, .nh-subpage *::before, .nh-subpage *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
@media print { .nh-breadcrumb,.nh-section-nav,.nh-search,.nh-legal-toc,.nh-subpage .header,.nh-subpage .footer,.nh-subpage .st-cta { display:none; } .nh-subpage .legal-content { border:0; padding:0; } .nh-subpage .legal-section { background:#fff; } }
.nh-availability { padding-top:1.1rem; padding-bottom:1.1rem; color:#5d6c80; font-size:.83rem; line-height:1.8; border-bottom:1px solid #dfe5ec; }
.nh-availability a { color:#254c75; text-decoration:underline; text-underline-offset:3px; }
.nh-subpage .st-hero .nh-button-line { color:#fff; }

/* Shared return-to-top control for home and all public subpages. */
.nh-back-top { position:fixed; right:max(1.25rem,env(safe-area-inset-right)); bottom:calc(1.25rem + env(safe-area-inset-bottom)); z-index:90; display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-width:96px; min-height:48px; padding:.7rem 1rem; border:1px solid #a3813d; border-radius:999px; background:#142b48; color:#fff; font-size:.85rem; font-weight:700; line-height:1.4; text-decoration:none; box-shadow:0 4px 18px #142b4826; }
.nh-back-top:hover { background:#254461; color:#fff; }
.nh-back-top:focus-visible { outline:3px solid #1688bf; outline-offset:4px; }
.nh-back-top[hidden], .menu-open .nh-back-top, body:has(#inquiryModal.active) .nh-back-top { display:none; }
@media(max-width:600px) { .nh-back-top { right:max(.75rem,env(safe-area-inset-right)); bottom:calc(.75rem + env(safe-area-inset-bottom)); min-width:88px; padding:.65rem .85rem; } }
@media print { .nh-back-top { display:none; } }
