/* NarrowVision shared public branding, 2026-10-30.
   Loads AFTER styles.css and nv-home.css; scope all changes to nv-subpage.
   Existing form mechanics, download release scripts and brochure print layout remain unchanged. */
body.nv-site.nv-subpage { background:#090b1a; color:#f6f3ff; color-scheme:dark; }
.nv-subpage .site-header, .nv-subpage .site-footer { display:none; }
.nv-subpage main { background:#090b1a; }
.nv-subpage main h1,.nv-subpage main h2,.nv-subpage main h3,.nv-subpage main h4 { color:#fff; line-height:1.2; letter-spacing:-.032em; text-wrap:balance; }
.nv-subpage main h1 { font-size:clamp(2.55rem,4.3vw,4.55rem); letter-spacing:-.045em; line-height:1.15; }
.nv-subpage .eyebrow,.nv-subpage .section-kicker { color:#c6a3ff; font-size:.77rem; letter-spacing:.09em; line-height:1.6; }
.nv-subpage .eyebrow span { background:linear-gradient(135deg,#b86bff,#693cdd); }
.nv-subpage .hero-section,.nv-subpage .form-hero { background:radial-gradient(ellipse at 85% 4%,rgba(133,74,232,.24),transparent 44%),linear-gradient(135deg,#0a0b1a,#171129); padding-block:64px 70px; }
.nv-subpage .hero-glow-a,.nv-subpage .form-hero:before { background:radial-gradient(circle,rgba(139,76,251,.18),transparent 67%); }
.nv-subpage .hero-glow-b,.nv-subpage .form-hero:after { background:radial-gradient(circle,rgba(119,73,227,.10),transparent 67%); }
.nv-subpage .hero-grid,.nv-subpage .form-hero-grid { gap:clamp(32px,4vw,62px); }
.nv-subpage .hero-copy h1,.nv-subpage .form-intro h1 { font-size:clamp(2.65rem,4.2vw,4.4rem); line-height:1.17; letter-spacing:-.042em; }
.nv-subpage .hero-copy h1 em,.nv-subpage .form-intro h1 em,
.nv-subpage .section-heading h2 em,.nv-subpage .feature-copy h2 em,.nv-subpage .live-copy h2 em,
.nv-subpage .contact-card h2 em,.nv-subpage .faq-intro h2 em,
.nv-subpage .brochure-card h2 em { background:none; color:#b684ff; -webkit-text-fill-color:currentColor; }
.nv-subpage .hero-lead,.nv-subpage .form-intro>p,.nv-subpage .section-heading p,.nv-subpage .feature-copy>p,
.nv-subpage .live-copy>p,.nv-subpage .faq-intro p,.nv-subpage .brochure-card p,.nv-subpage .contact-card p {
 color:#c2bdd4; font-size:1.01rem; line-height:1.75;
}
.nv-subpage .hero-proof,.nv-subpage .hero-proof span { color:#c7bfd8; font-size:.89rem; }
.nv-subpage .hero-proof i { color:#d2afff; background:#2b1b45; }
.nv-subpage .section { padding-block:70px; background:#090b1a; }
.nv-subpage .section-soft { background:#101126; }
.nv-subpage .section-heading h2,.nv-subpage .feature-copy h2,.nv-subpage .faq-intro h2,.nv-subpage .live-copy h2 {
 font-size:clamp(2.1rem,3.6vw,3.45rem); line-height:1.19; letter-spacing:-.038em;
}
.nv-subpage .button { background:linear-gradient(120deg,#9c3cf4,#7043ee); color:#fff!important; border-color:transparent; border-radius:12px; box-shadow:0 14px 30px rgba(113,55,215,.21); font-size:.95rem; min-height:48px; padding:11px 20px; }
.nv-subpage .button:hover { filter:brightness(1.13); }
.nv-subpage .button-ghost { color:#fff!important; background:#1b1730; border:1px solid #70518e; box-shadow:none; }
.nv-subpage .button-ghost:hover { background:#2c224a; }
.nv-subpage .step-card,.nv-subpage .usecase-list-card,
.nv-subpage .form-side-card,.nv-subpage .business-identity,
.nv-subpage .public-form-card,.nv-subpage .release-card,
.nv-subpage .download-platform,.nv-subpage .download-tip {
 color:#f8f6ff; background:#15152c; border:1px solid rgba(176,138,240,.22); box-shadow:0 17px 40px rgba(0,0,0,.16);
}
.nv-subpage .step-card h3,.nv-subpage .usecase-list-card strong { color:#fff; }
.nv-subpage .step-card p,.nv-subpage .usecase-list-card small { color:#c0b9d3; font-size:.95rem; line-height:1.72; }
.nv-subpage .step-number { color:#292140; }
.nv-subpage .step-icon { background:#32214e; border-color:#69468c; }
.nv-subpage .photo-card { border:1px solid rgba(176,138,240,.2); }
.nv-subpage .photo-overlay h3 { color:#fff; }
.nv-subpage .photo-credit,.nv-subpage .photo-credit a { color:#b5aacd; }
.nv-subpage .check-list strong { color:#fff; }
.nv-subpage .check-list small { color:#bfb5d5; }
.nv-subpage .check-list li>span { color:#cfb0ff; background:#302047; }
.nv-subpage .faq-section { background:#0d1022; }
.nv-subpage .faq-list details { background:#15162e; border:1px solid #44345c; }
.nv-subpage .faq-list details[open] { background:#1c1936; border-color:#7e5ab6; }
.nv-subpage .faq-list summary { color:#f7f4ff; line-height:1.5; }
.nv-subpage .faq-list summary span { background:#392456; color:#d5afff; }
.nv-subpage .faq-list details p { color:#c8c1da; }
.nv-subpage .brochure-card { background:#15152c; border:1px solid #42355c; box-shadow:none; }
.nv-subpage .brochure-page { color:#142047; }
.nv-subpage .contact-section { background:#090b1a; padding-block:58px; }
.nv-subpage .contact-card { background:radial-gradient(ellipse at 80% 8%,rgba(134,54,222,.34),transparent 60%),#17112d; border:1px solid #5e417f; }
.nv-subpage .contact-card h2,.nv-subpage .contact-card p { color:#fff; }
.nv-subpage .contact-card p { color:#c7bbdb; }
.nv-subpage .contact-actions small,.nv-subpage .contact-mail { color:#d7cceb; }
.nv-subpage .contact-details>div { background:#211a37; border-color:#60457f; }
.nv-subpage .contact-details small { color:#b9a7d2; }
.nv-subpage .contact-details strong,.nv-subpage .contact-details a { color:#fff; }
.nv-subpage .form-side-card strong,.nv-subpage .business-identity strong { color:#fff; }
.nv-subpage .form-side-card p,.nv-subpage .business-identity p,.nv-subpage .business-identity a { color:#c8c0dd; }
.nv-subpage .form-side-card a,.nv-subpage .business-identity .business-more { color:#d2b0ff; }
.nv-subpage .business-identity { border-left:3px solid #a46cf5; padding:22px 24px; }
.nv-subpage .form-benefits li { border-color:#46375c; }
.nv-subpage .form-benefits strong { color:#fff; }
.nv-subpage .form-benefits small { color:#bcb0d0; }
.nv-subpage .form-benefits li>span { color:#b7ffdf; background:#1c463b; }
.nv-subpage .form-card-heading { border-color:#3f3555; }
.nv-subpage .form-card-heading>span,.nv-subpage .form-field>span,.nv-subpage .form-choice-group legend { color:#d0b1ff; }
.nv-subpage .form-card-heading h2 { color:#fff; }
.nv-subpage .form-card-heading p,.nv-subpage .form-section-title span,.nv-subpage .form-choice-group>p { color:#c2b9d2; }
.nv-subpage .form-section-title { border-color:#3d3654; }
.nv-subpage .form-section-title strong { color:#fff; }
.nv-subpage .form-field input,.nv-subpage .form-field select,.nv-subpage .form-field textarea {
 background:#0f1427; border:1px solid #675381; color:#fff; color-scheme:dark;
}
.nv-subpage .form-field input::placeholder,.nv-subpage .form-field textarea::placeholder { color:#aaa2c0; }
.nv-subpage .form-field input:focus,.nv-subpage .form-field select:focus,.nv-subpage .form-field textarea:focus {
 border-color:#bb86ff; background:#151b32; box-shadow:0 0 0 4px rgba(167,108,255,.16);
}
.nv-subpage .form-choice-group { background:#101126; border:1px solid #51416c; }
.nv-subpage .form-checkbox-grid label { background:#1f1c36; color:#eee8fb; border:1px solid #55456c; }
.nv-subpage .form-privacy-note,.nv-subpage .form-consent { color:#d2c8df; }
.nv-subpage .form-consent a,.nv-subpage .form-privacy-note a { color:#d4b6ff; }
.nv-subpage .form-status:not(:empty) { color:#d8c9ed; border-color:#52446e; background:#29213d; }
.nv-subpage .form-status.success { color:#b4ffe0; border-color:#296f58; background:#103c30; }
.nv-subpage .form-status.error { color:#ffc3ce; border-color:#913f55; background:#421d2c; }
.nv-subpage .legal-page { background:#090b1a; }
.nv-subpage .legal-shell { width:min(800px,calc(100% - 48px)); padding:55px 0 78px; }
.nv-subpage .legal-shell>a { color:#c7a4ff; font-size:.91rem; }
.nv-subpage .legal-shell h1 { margin-bottom:18px; }
.nv-subpage .legal-shell h2 { color:#fff; margin-top:34px; }
.nv-subpage .legal-shell p,.nv-subpage .legal-shell li { color:#cac4d9; font-size:1rem; line-height:1.82; }
.nv-subpage .legal-shell p a,.nv-subpage .legal-shell dd a { color:#d4b9ff; }
.nv-subpage .legal-meta { color:#bfb5cf; }
.nv-subpage .company-facts { border-color:#413752; }
.nv-subpage .company-facts>div { border-color:#363149; }
.nv-subpage .company-facts dt { color:#c7a1ff; }
.nv-subpage .company-facts dd { color:#f2edff; }
.nv-subpage .download-body,.nv-subpage .download-main { background:#090b1a; }
.nv-subpage .download-hero { padding-block:57px 75px; }
.nv-subpage .download-hero h1 { color:#fff; line-height:1.19; }
.nv-subpage .download-hero>p { color:#c5bed6; }
.nv-subpage .download-platform { min-height:155px; }
.nv-subpage a.download-platform:hover { border-color:#9b78ce; }
.nv-subpage .download-platform small,.nv-subpage .release-type { color:#c4a0ff; }
.nv-subpage .download-platform strong,.nv-subpage .download-state strong { color:#fff; }
.nv-subpage .download-platform p,.nv-subpage .download-tip p,
.nv-subpage .download-state span:not(.release-dot),.nv-subpage .release-notes,
.nv-subpage .release-explainer { color:#c3bdd3; }
.nv-subpage .platform-symbol { background:#302044; color:#e0c4ff; }
.nv-subpage .download-tip>span { color:#d4b2ff; background:#362249; }
.nv-subpage .download-tip strong { color:#fff; }
.nv-subpage .release-details { border-color:#423652; }
.nv-subpage .release-details dl>div { background:#1d1a36; border-color:#473960; }
.nv-subpage .release-details dt { color:#c0a6e6; }
.nv-subpage .release-details dd { color:#fff; }
.nv-subpage .file-badge { color:#e3c9ff; background:#43265e; }
.nv-subpage .release-integrity { color:#cec3dd; }
.nv-subpage .release-integrity code { color:#f1eafd; background:#22203b; }
.nv-subpage .nv-footer { background:#080a17; }
@media(max-width:980px){
 .nv-subpage .hero-grid,.nv-subpage .form-hero-grid { grid-template-columns:1fr; gap:32px; }
 .nv-subpage .section { padding-block:57px; }
 .nv-subpage .legal-shell { padding-top:42px; }
}
@media(max-width:760px){
 .nv-subpage .hero-section,.nv-subpage .form-hero { padding-block:45px 55px; }
 .nv-subpage .hero-copy h1,.nv-subpage .form-intro h1 { font-size:clamp(2.18rem,8.7vw,3.2rem); line-height:1.18; }
 .nv-subpage .section-heading h2,.nv-subpage .feature-copy h2,.nv-subpage .faq-intro h2 { font-size:clamp(1.92rem,7.3vw,2.7rem); }
 .nv-subpage .public-form-card { padding:24px 21px; }
 .nv-subpage .legal-shell { width:calc(100% - 36px); }
 .nv-subpage .download-hero { padding-block:44px 64px; }
 .nv-subpage .form-section-title { gap:7px; }
}


/* Screen-only brochure presentation. A4 print formatting is intentionally untouched. */
@media screen {
 body.nv-brochure-web { background:#090b1a; color:#fff; }
 .nv-brochure-web .brochure-toolbar { background:#090b1a; color:#f7f5ff; border-bottom:1px solid #4c365e; }
 .nv-brochure-web .brochure-toolbar a { color:#e0ccff; font-size:.91rem; }
 .nv-brochure-web .brochure-toolbar button { min-height:43px; background:linear-gradient(110deg,#993ef1,#7545ee); font-size:.88rem; border-color:#76519c; }
 .nv-brochure-web .brochure-document { margin-block:36px 75px; }
 .nv-brochure-web .brochure-sheet { box-shadow:0 20px 65px rgba(0,0,0,.28); }
}


/* Real product previews: images are the presentation, not card decorations. */
.nv-subpage .nv-software-hero-image {
 align-self:center; min-width:0; margin:0; padding:0; border:0;
 border-radius:0; background:transparent; box-shadow:none;
}
.nv-subpage .nv-software-hero-image img {
 display:block; width:100%; height:auto; border-radius:9px;
 background:#0a0c19; box-shadow:0 25px 55px rgba(0,0,0,.24);
}
.nv-subpage .nv-gallery-section {
 background:#101124; padding-block:72px 82px;
 border:0;
}
.nv-subpage .nv-showcase-heading { max-width:770px; margin-bottom:34px; }
.nv-subpage .nv-showcase-heading h2 {
 margin:10px 0 12px; font-size:clamp(2rem,3.15vw,3.1rem);
 line-height:1.2; letter-spacing:-.035em;
}
.nv-subpage .nv-showcase-heading p { margin:0; color:#c3b9d5; font-size:1rem; line-height:1.75; }
.nv-subpage .nv-real-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; row-gap:35px; }
.nv-subpage .nv-real-gallery-item { min-width:0; margin:0; padding:0; background:transparent; border:0; }
.nv-subpage .nv-real-gallery-item h3 {
 margin:0 0 12px; font-size:1.03rem; line-height:1.4;
 font-weight:680; letter-spacing:-.01em; color:#e6daf6;
}
.nv-subpage .nv-real-gallery-item img {
 display:block; width:100%; height:auto; aspect-ratio:1200/569;
 object-fit:contain; object-position:top center; border-radius:8px;
 background:#0b0d19; box-shadow:0 15px 42px rgba(0,0,0,.17);
}
.nv-subpage .nv-installation-section {
 background:#0d1022; padding-block:73px 78px; border:0;
}
.nv-subpage .nv-installation-layout {
 display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
 gap:clamp(30px,4.3vw,72px); align-items:center;
}
.nv-subpage .nv-installation-image {
 align-self:center; min-width:0; margin:0; padding:0;
 background:transparent; border:0; border-radius:0;
}
.nv-subpage .nv-installation-image img {
 display:block; width:100%; height:auto; max-height:480px;
 object-fit:cover; border:0; border-radius:9px;
 box-shadow:0 18px 46px rgba(0,0,0,.2);
}
.nv-subpage .nv-installation-text h2 {
 margin:13px 0 17px; font-size:clamp(2.05rem,3vw,3.2rem);
 line-height:1.18; letter-spacing:-.035em;
}
.nv-subpage .nv-installation-text p {
 color:#cac2d7; line-height:1.78; font-size:1rem;
 margin:0 0 25px; max-width:475px;
}
@media(max-width:800px) {
 .nv-subpage .nv-installation-layout { grid-template-columns:1fr; }
 .nv-subpage .nv-installation-section { padding-block:49px; }
 .nv-subpage .nv-installation-image img { max-height:none; }
}
@media(max-width:650px) {
 .nv-subpage .nv-real-gallery { grid-template-columns:1fr; row-gap:27px; }
 .nv-subpage .nv-gallery-section { padding-block:49px 58px; }
 .nv-subpage .nv-showcase-heading { margin-bottom:25px; }
}
