/*
Theme Name: Nova Signa CA Final
Theme URI: https://novasigna.ca
Author: Nova Signa
Description: Custom WordPress theme recreating the original Nova Signa risk, resilience and continuity concept.
Version: 1.1.0
Text Domain: nova-signa-original
*/
:root{--navy:#031321;--navy2:#071d2f;--navy3:#0b2740;--red:#ef2b2f;--white:#fff;--muted:#b8c4cf;--line:rgba(255,255,255,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--navy);color:#fff;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.ns-wrap{max-width:1500px;margin:auto;padding:0 48px}.ns-site-header{position:sticky;top:0;z-index:100;background:rgba(2,14,25,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}.ns-header-inner{height:92px;display:flex;align-items:center;gap:42px}.ns-brand{display:flex;align-items:center;gap:16px;min-width:390px}.ns-mark{width:54px;height:54px}.ns-wordmark{font-size:31px;letter-spacing:.16em;font-weight:400;line-height:1}.ns-wordmark span{color:#fff}.ns-tag{font-size:11px;letter-spacing:.16em;margin-top:6px;color:#fff}.ns-tag b{color:var(--red)}.ns-nav{margin-left:auto;display:flex;align-items:center;gap:32px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.ns-nav a{padding:35px 0 31px;border-bottom:3px solid transparent}.ns-nav a:hover,.ns-nav a:focus{color:var(--red);border-bottom-color:var(--red)}.ns-nav-cta{border:1px solid var(--red)!important;padding:13px 19px!important}.ns-menu-toggle{display:none;margin-left:auto;background:none;border:1px solid #fff;color:#fff;padding:10px 14px;font-size:20px}.ns-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 40%,#0b2a46 0,#061b2e 36%,#02101d 75%)}.ns-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(11,62,102,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(11,62,102,.16) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to left,#000,transparent 75%);pointer-events:none}.ns-hero-inner{min-height:510px;display:grid;grid-template-columns:47% 53%;align-items:center;position:relative;z-index:2}.ns-eyebrow{color:var(--red);font-weight:700;letter-spacing:.09em;text-transform:uppercase;font-size:18px}.ns-hero h1{font-size:48px;line-height:1.08;margin:8px 0 18px;text-transform:uppercase;max-width:700px}.ns-hero h1 em{font-style:normal}.ns-red-dot{color:var(--red)}.ns-rule{width:42px;height:4px;background:var(--red);margin:0 0 18px}.ns-hero p{font-size:18px;max-width:560px;color:#f5f6f7}.ns-buttons{display:flex;gap:20px;margin-top:25px}.ns-btn{display:inline-flex;align-items:center;gap:20px;padding:14px 24px;border:1px solid rgba(255,255,255,.8);text-transform:uppercase;font-size:13px;letter-spacing:.08em;transition:.2s}.ns-btn.primary{background:var(--red);border-color:var(--red)}.ns-btn:hover{transform:translateY(-2px);background:#fff;color:var(--navy)}.ns-map{align-self:stretch;display:flex;align-items:center;justify-content:center}.ns-map img{width:100%;max-width:790px;filter:saturate(1.1) contrast(1.05)}.ns-services{background:linear-gradient(180deg,#0b2740,#081f34);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.12)}.ns-services-grid{display:grid;grid-template-columns:repeat(6,1fr)}.ns-service{padding:28px 22px 30px;text-align:center;border-right:1px solid var(--line);min-height:225px}.ns-service:last-child{border-right:0}.ns-icon{width:54px;height:54px;margin:0 auto 12px;color:#fff}.ns-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.7}.ns-service h3{font-size:14px;line-height:1.25;margin:0;text-transform:uppercase;letter-spacing:.02em}.ns-service h3:after{content:"";display:block;width:24px;height:2px;background:var(--red);margin:10px auto}.ns-service p{font-size:13px;color:#e5e9ed;margin:0}.ns-about{display:grid;grid-template-columns:34% 32% 34%;min-height:350px;background:#fff;color:#0b1725}.ns-about-copy{padding:38px 42px 34px 58px;position:relative;z-index:2}.ns-about-copy:after{content:"";position:absolute;right:-70px;top:0;border-top:175px solid transparent;border-bottom:175px solid transparent;border-left:70px solid #fff;z-index:3}.ns-kicker{font-size:13px;color:var(--red);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.ns-about h2{font-size:30px;line-height:1.12;margin:10px 0 15px}.ns-about-copy p{font-size:14px;color:#27323e}.ns-about-image{background:#091929;overflow:hidden}.ns-about-image img{width:100%;height:100%;object-fit:cover}.ns-about-points{background:#041525;color:#fff;padding:28px 48px 24px 60px;display:flex;flex-direction:column;justify-content:center;gap:22px}.ns-point{display:grid;grid-template-columns:44px 1fr;gap:16px}.ns-point-icon{font-size:32px;color:var(--red);line-height:1}.ns-point h4{font-size:14px;letter-spacing:.06em;margin:0 0 3px;text-transform:uppercase}.ns-point p{font-size:13px;color:#e0e6eb;margin:0}.ns-extra{background:#071d2f;padding:72px 0}.ns-section-head{text-align:center;max-width:760px;margin:0 auto 38px}.ns-section-head .ns-kicker{display:block}.ns-section-head h2{font-size:38px;margin:8px 0 12px}.ns-section-head p{color:#c6d0d8}.ns-extra-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ns-card{background:#0b2740;border:1px solid rgba(255,255,255,.11);padding:28px;min-height:215px}.ns-card span{display:inline-block;color:var(--red);font-weight:bold;font-size:13px;letter-spacing:.08em;margin-bottom:12px}.ns-card h3{font-size:21px;margin:0 0 10px}.ns-card p{color:#d4dbe1;font-size:14px}.ns-industries{background:#f3f5f7;color:#0a1724;padding:72px 0}.ns-industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ns-industry{background:#fff;border:1px solid #dbe0e5;padding:25px}.ns-industry h3{margin:0 0 8px;font-size:18px}.ns-industry p{margin:0;color:#4e5b67;font-size:14px}.ns-resources{padding:72px 0;background:#091929}.ns-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ns-resource{border:1px solid rgba(255,255,255,.12);padding:28px;background:#0b2237}.ns-resource small{color:var(--red);text-transform:uppercase;letter-spacing:.1em}.ns-resource h3{font-size:21px;margin:9px 0}.ns-resource p{color:#cbd5dd;font-size:14px}.ns-contact{background:linear-gradient(135deg,#fff 0,#f0f3f6 55%,#dce3e8 100%);color:#0a1724;padding:72px 0}.ns-contact-grid{display:grid;grid-template-columns:42% 58%;gap:60px}.ns-contact h2{font-size:38px;line-height:1.1;margin:8px 0 15px}.ns-contact p{color:#4c5a66}.ns-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ns-form .full{grid-column:1/-1}.ns-form input,.ns-form select,.ns-form textarea{width:100%;padding:13px;border:1px solid #bcc6cf;background:#fff;font:inherit}.ns-form textarea{min-height:125px;resize:vertical}.ns-form button{border:0;background:var(--red);color:#fff;padding:15px 22px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;cursor:pointer}.ns-form-note{font-size:12px;color:#6a7680;margin-top:8px}.ns-banner{background:#031321;border-top:1px solid rgba(255,255,255,.12);padding:18px;text-align:center;letter-spacing:.18em;text-transform:uppercase;font-size:16px}.ns-banner strong{color:var(--red)}.ns-footer{background:#020c14;color:#9eabb5;text-align:center;font-size:12px;padding:24px}.ns-footer a{color:#fff}.ns-flash{padding:12px 16px;margin-bottom:16px;border:1px solid #aac5b3;background:#edf8f0;color:#245b36}.ns-flash.error{border-color:#d7a5a5;background:#fff0f0;color:#842828}
@media(max-width:1100px){.ns-wrap{padding:0 28px}.ns-brand{min-width:310px}.ns-nav{gap:18px}.ns-services-grid{grid-template-columns:repeat(3,1fr)}.ns-service:nth-child(3){border-right:0}.ns-service:nth-child(-n+3){border-bottom:1px solid var(--line)}.ns-about{grid-template-columns:1fr 1fr}.ns-about-points{grid-column:1/-1}.ns-about-copy:after{display:none}.ns-extra-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.ns-header-inner{height:76px}.ns-brand{min-width:0}.ns-wordmark{font-size:24px}.ns-tag{font-size:9px}.ns-mark{width:44px;height:44px}.ns-menu-toggle{display:block}.ns-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#031321;padding:18px 28px;flex-direction:column;align-items:stretch;gap:0}.ns-nav.open{display:flex}.ns-nav a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.ns-nav-cta{margin-top:12px;text-align:center}.ns-hero-inner{grid-template-columns:1fr;padding-top:35px}.ns-hero h1{font-size:39px}.ns-map{margin-top:10px}.ns-services-grid{grid-template-columns:repeat(2,1fr)}.ns-service{border-bottom:1px solid var(--line)!important}.ns-service:nth-child(even){border-right:0}.ns-about{grid-template-columns:1fr}.ns-about-image{height:320px}.ns-about-points{grid-column:auto}.ns-about-copy{padding:38px 28px}.ns-extra-grid,.ns-industry-grid,.ns-resource-grid{grid-template-columns:1fr 1fr}.ns-contact-grid{grid-template-columns:1fr}.ns-form{grid-template-columns:1fr}.ns-form .full{grid-column:auto}}
@media(max-width:560px){.ns-wrap{padding:0 20px}.ns-tag{display:none}.ns-wordmark{font-size:20px}.ns-hero h1{font-size:31px}.ns-hero p{font-size:16px}.ns-buttons{flex-direction:column;align-items:stretch}.ns-btn{justify-content:space-between}.ns-services-grid,.ns-extra-grid,.ns-industry-grid,.ns-resource-grid{grid-template-columns:1fr}.ns-service{border-right:0}.ns-about-image{height:250px}.ns-section-head h2,.ns-contact h2{font-size:30px}.ns-banner{font-size:12px}}

/* Final Nova Signa refinements */
/* Keep the original visual design while applying the final requested text refinements. */
.ns-industries-head p{color:#07131f!important;font-weight:650}
/* Trim a few edge pixels from the network-map artwork to eliminate the stray corner/rectangle artifact. */
.ns-map img{clip-path:inset(2px 4px 2px 2px)}
