/* ============================================================
   DSP Cyber Security — shared design system
   Ported from the existing site; adds site-wide nav + footer.
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --red:#DC2626; --dark:#0a0d12; --panel:#10151d;
  --border:#1e2a3a; --muted:#8aaec8; --text:#ddeeff;
  --white:#f0f6ff; --teal:#0d9488; --teal-dim:rgba(13,148,136,.15);
  --gold:#d4a017; --gold-dim:rgba(212,160,23,.12);
  --font-head:'Barlow Condensed',sans-serif;
  --font-body:'Barlow',sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--dark);font-family:var(--font-body);color:var(--text);line-height:1.6}
a{color:inherit}
img{max-width:100%;display:block}

/* ---- background grid ---- */
.grid-bg{position:relative;overflow:hidden}
.grid-bg::before{content:'';position:absolute;inset:0;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:60px 60px;opacity:.3;pointer-events:none;z-index:0}
.grid-bg>*{position:relative;z-index:1}

/* ---- shared typography ---- */
.section-label{font-family:var(--font-head);font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:.75rem}
.section-title{font-family:var(--font-head);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;text-transform:uppercase;color:var(--white);line-height:1.05;margin-bottom:1.25rem}
.section-body{color:var(--muted);font-size:1rem;line-height:1.75;margin-bottom:1.25rem;max-width:720px}
.section-body strong{color:var(--text);font-weight:600}

/* ---- buttons ---- */
.btn-primary,.btn-outline,.btn-teal{display:inline-block;text-align:center;font-family:var(--font-head);font-size:1rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:.85rem 2.5rem;border-radius:3px;border:2px solid;cursor:pointer;transition:all .2s ease}
.btn-primary{border-color:var(--red);background:var(--red);color:#fff}
.btn-primary:hover{background:#b91c1c;border-color:#b91c1c;box-shadow:0 4px 20px rgba(220,38,38,.35)}
.btn-outline{border-color:var(--border);background:transparent;color:var(--text);margin-left:1rem}
.btn-outline:hover{border-color:var(--teal);color:var(--teal)}
.btn-teal{border-color:var(--teal);background:var(--teal);color:#fff}
.btn-teal:hover{background:#0a7a70;border-color:#0a7a70;box-shadow:0 4px 20px rgba(13,148,136,.35)}

/* ---- SITE HEADER (new — replaces GoDaddy chrome) ---- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(10,13,18,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.nav{max-width:1140px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 1.5rem}
.nav-brand{font-family:var(--font-head);font-weight:800;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;color:var(--white);text-decoration:none;white-space:nowrap}
.nav-brand b{color:var(--red)}
.nav-links{display:flex;align-items:center;gap:1.4rem;list-style:none}
.nav-links a{font-family:var(--font-head);font-size:.92rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--white)}
.nav-call{font-family:var(--font-head);font-weight:700;letter-spacing:.06em;color:var(--white);text-decoration:none;border:1px solid var(--border);border-radius:3px;padding:.45rem 1rem;font-size:.85rem;white-space:nowrap}
.nav-call b{color:var(--teal)}
.nav-call:hover{border-color:var(--teal)}
.nav-toggle{display:none}
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav-burger span{width:24px;height:2px;background:var(--white);display:block}

/* ---- page hero ---- */
.page-hero{padding:5rem 2rem 4rem;text-align:center;background:var(--dark);position:relative}
.page-hero::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:700px;height:350px;background:radial-gradient(ellipse at top,rgba(220,38,38,.10) 0%,transparent 70%);pointer-events:none;z-index:0}
.hero-inner{position:relative;z-index:1;max-width:760px;margin:0 auto}
.hero-eyebrow{display:inline-block;font-family:var(--font-head);font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);background:var(--teal-dim);border:1px solid rgba(13,148,136,.3);border-radius:2px;padding:4px 14px;margin-bottom:1.25rem}
.hero-title{font-family:var(--font-head);font-size:clamp(2.2rem,6vw,3.8rem);font-weight:800;line-height:1.02;letter-spacing:.02em;text-transform:uppercase;color:var(--white);margin-bottom:1rem}
.hero-title .red{color:var(--red)}.hero-title .teal{color:var(--teal)}.hero-title .gold{color:var(--gold)}.hero-title .blue{color:#60a5fa}
.hero-sub{font-size:1.05rem;color:var(--muted);max-width:640px;margin:0 auto 2rem;line-height:1.7}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ---- stat bar ---- */
.stat-bar{background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2rem}
.stat-bar-grid{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;text-align:center}
.stat-number{font-family:var(--font-head);font-size:2.2rem;font-weight:800;color:var(--red);line-height:1;margin-bottom:.3rem}
.stat-label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600}

/* ---- content / panels ---- */
.content-section{padding:5rem 2rem}
.content-inner{max-width:900px;margin:0 auto}
.panel-section{background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:5rem 2rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
.col-head{font-family:var(--font-head);font-size:1.2rem;font-weight:700;text-transform:uppercase;color:var(--white);margin-bottom:1rem}

/* ---- cards ---- */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:2.5rem}
.card{background:var(--dark);border:1px solid var(--border);border-radius:4px;padding:1.75rem;transition:border-color .2s}
.card:hover{border-color:rgba(13,148,136,.4)}
.card-icon{font-size:1.75rem;margin-bottom:.75rem}
.card h3{font-family:var(--font-head);font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--white);margin-bottom:.6rem}
.card p{font-size:.9rem;color:var(--muted);line-height:1.65}

/* ---- bullet lists ---- */
.bullet-list{list-style:none;padding:0;margin-top:1rem}
.bullet-list li{font-size:.92rem;color:var(--muted);padding:.45rem 0;padding-left:1.25rem;position:relative;border-bottom:1px solid var(--border)}
.bullet-list li:last-child{border-bottom:none}
.bullet-list li::before{content:'→';position:absolute;left:0;font-size:.8rem}
.bullet-list.teal li::before{color:var(--teal)}
.bullet-list.gold li::before{color:var(--gold)}
.bullet-list.blue li::before{color:#60a5fa}

/* ---- authority box ---- */
.authority-box{background:rgba(220,38,38,.05);border:1px solid rgba(220,38,38,.2);border-left:4px solid var(--red);border-radius:4px;padding:1.5rem 1.75rem;margin:1.5rem 0}
.authority-box.teal-box{background:rgba(13,148,136,.05);border-color:rgba(13,148,136,.2);border-left-color:var(--teal)}
.authority-box.gold-box{background:rgba(212,160,23,.05);border-color:rgba(212,160,23,.2);border-left-color:var(--gold)}
.authority-box.blue-box{background:rgba(96,165,250,.05);border-color:rgba(96,165,250,.2);border-left-color:#60a5fa}
.authority-box h4{font-family:var(--font-head);font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem}
.authority-box h4.red{color:var(--red)}.authority-box h4.teal{color:var(--teal)}.authority-box h4.gold{color:var(--gold)}.authority-box h4.blue{color:#60a5fa}
.authority-box p{font-size:.9rem;color:var(--muted);line-height:1.65}
.authority-box a{color:var(--teal);text-decoration:none}
.authority-box a:hover{text-decoration:underline}

/* ---- pricing cards ---- */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:2.5rem}
.price-card{background:var(--dark);border:1px solid var(--border);border-radius:5px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
.price-card:hover{transform:translateY(-3px);border-color:rgba(212,160,23,.5)}
.price-card.featured{border-color:var(--gold)}
.price-top{background:var(--panel);padding:1.5rem;border-bottom:1px solid var(--border)}
.price-badge{display:inline-block;font-family:var(--font-head);font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;border-radius:2px;padding:2px 8px;margin-bottom:.75rem}
.badge-gold{color:var(--gold);background:var(--gold-dim);border:1px solid rgba(212,160,23,.3)}
.badge-red{color:var(--red);background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.3)}
.badge-teal{color:var(--teal);background:var(--teal-dim);border:1px solid rgba(13,148,136,.3)}
.badge-blue{color:#60a5fa;background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.3)}
.price-name{font-family:var(--font-head);font-size:1.3rem;font-weight:800;text-transform:uppercase;color:var(--white);margin-bottom:.4rem}
.price-amount{font-family:var(--font-head);font-size:2rem;font-weight:800;color:var(--gold);line-height:1}
.price-amount span{font-size:.9rem;color:var(--muted);font-weight:400}
.price-body{padding:1.5rem;flex:1}
.price-list{list-style:none;padding:0}
.price-list li{font-size:.88rem;color:var(--muted);padding:.35rem 0;padding-left:1.1rem;position:relative;border-bottom:1px solid var(--border)}
.price-list li:last-child{border-bottom:none}
.price-list li::before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:700;font-size:.8rem}

/* ---- service pillars (home) ---- */
.pillars-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2.5rem}
.pillar-card{background:var(--dark);border:1px solid var(--border);border-radius:5px;padding:1.75rem;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
.pillar-card:hover{transform:translateY(-3px)}
.pillar-card.hipaa:hover{border-color:rgba(13,148,136,.5)}
.pillar-card.vciso:hover{border-color:rgba(212,160,23,.5)}
.pillar-card.grc:hover{border-color:rgba(96,165,250,.5)}
.pillar-card.cmmc:hover{border-color:rgba(220,38,38,.5)}
.pillar-top{flex:1}
.pillar-badge{display:inline-block;font-family:var(--font-head);font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;border-radius:2px;padding:2px 8px;margin-bottom:.85rem}
.pillar-card h3{font-family:var(--font-head);font-size:1.35rem;font-weight:800;text-transform:uppercase;color:var(--white);line-height:1.05;margin-bottom:.7rem}
.pillar-card>.pillar-top>p{font-size:.9rem;color:var(--muted);line-height:1.6;margin-bottom:1rem}
.pillar-bullets{list-style:none;padding:0;margin-bottom:1rem}
.pillar-bullets li{font-size:.82rem;color:var(--muted);padding:.3rem 0;border-bottom:1px solid var(--border)}
.pillar-bullets li::before{content:'›';margin-right:.5rem}
.pillar-bullets .rb::before{color:var(--red)}.pillar-bullets .bb::before{color:#60a5fa}.pillar-bullets .tb::before{color:var(--teal)}.pillar-bullets .gb::before{color:var(--gold)}
.pillar-footer{border-top:1px solid var(--border);padding-top:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.pillar-cfr{font-size:.72rem;color:#4a6080}
.pillar-link{font-family:var(--font-head);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.link-red{color:var(--red)}.link-teal{color:var(--teal)}.link-gold{color:var(--gold)}.link-blue{color:#60a5fa}

/* ---- about strip ---- */
.about-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;padding:5rem 2rem;align-items:start}
.why-list{list-style:none;padding:0;margin-top:1rem}
.why-list li{font-size:.92rem;color:var(--muted);padding:.5rem 0;padding-left:1.5rem;position:relative;border-bottom:1px solid var(--border)}
.why-list li::before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:700}
.cert-list{list-style:none;padding:0}
.cert-list li{display:flex;gap:.9rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--border)}
.cert-badge{flex-shrink:0;width:54px;height:34px;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:800;font-size:.8rem;color:var(--white);background:var(--panel);border:1px solid var(--border);border-radius:3px}
.cert-name{font-size:.9rem;color:var(--text);font-weight:600}
.cert-full{font-size:.75rem;color:var(--muted)}

/* ---- kits / resources ---- */
.kits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2.5rem}
.kit-card{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:1.75rem;position:relative}
.kit-card.hipaa-kit{border-color:rgba(13,148,136,.4)}
.kit-card.cmmc-kit{border-color:rgba(220,38,38,.4)}
.kit-icon{font-size:1.75rem;margin-bottom:.75rem}
.kit-content h4{font-family:var(--font-head);font-size:1.15rem;font-weight:800;text-transform:uppercase;color:var(--white);margin-bottom:.5rem}
.kit-content p{font-size:.88rem;color:var(--muted);line-height:1.6;margin-bottom:1rem}
.kit-price{font-family:var(--font-head);font-size:1.6rem;font-weight:800;color:var(--white);margin-bottom:1rem}
.kit-price span{font-size:.8rem;color:var(--muted);font-weight:400}
.btn-kit-teal,.btn-kit-red{display:inline-block;font-family:var(--font-head);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.9rem;padding:.7rem 1.5rem;border-radius:3px;text-decoration:none;color:#fff}
.btn-kit-teal{background:var(--teal);border:2px solid var(--teal)}
.btn-kit-teal:hover{background:#0a7a70}
.btn-kit-red{background:var(--red);border:2px solid var(--red)}
.btn-kit-red:hover{background:#b91c1c}

/* ---- CTA ---- */
.cta-section{padding:5rem 2rem;text-align:center}
.cta-inner{max-width:680px;margin:0 auto}
.cta-inner h2{font-family:var(--font-head);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;text-transform:uppercase;color:var(--white);margin-bottom:1rem}
.cta-inner p{color:var(--muted);font-size:1rem;margin-bottom:2rem;line-height:1.7}

/* ---- related ---- */
.related-section{background:var(--panel);border-top:1px solid var(--border);padding:3.5rem 2rem}
.related-inner{max-width:900px;margin:0 auto}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2rem}
.related-card{background:var(--dark);border:1px solid var(--border);border-radius:4px;padding:1.25rem 1.5rem;text-decoration:none;transition:border-color .2s,transform .2s;display:block}
.related-card:hover{transform:translateY(-2px)}
.related-card.r-red:hover{border-color:rgba(220,38,38,.5)}
.related-card.r-teal:hover{border-color:rgba(13,148,136,.5)}
.related-card.r-gold:hover{border-color:rgba(212,160,23,.5)}
.related-card.r-blue:hover{border-color:rgba(96,165,250,.5)}
.related-card .r-label{font-family:var(--font-head);font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.4rem;color:var(--muted)}
.related-card h4{font-family:var(--font-head);font-size:1rem;font-weight:700;text-transform:uppercase;color:var(--white);margin-bottom:.25rem}
.related-card p{font-size:.82rem;color:var(--muted)}

/* ---- contact ---- */
.contact-grid{max-width:980px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:4rem 2rem;align-items:start}
.contact-method{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 0;border-bottom:1px solid var(--border)}
.contact-method .ci{font-size:1.4rem}
.contact-method .cl{font-family:var(--font-head);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-bottom:.2rem}
.contact-method a,.contact-method span{color:var(--text);font-size:1.02rem;text-decoration:none}
.contact-method a:hover{color:var(--teal)}
.form-field{margin-bottom:1.1rem}
.form-field label{display:block;font-family:var(--font-head);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.form-field input,.form-field select,.form-field textarea{width:100%;background:var(--panel);border:1px solid var(--border);border-radius:3px;color:var(--text);font-family:var(--font-body);font-size:.95rem;padding:.7rem .85rem}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--teal)}
.form-field textarea{min-height:120px;resize:vertical}

/* ---- footer ---- */
.site-footer{background:#070a0e;border-top:1px solid var(--border)}
.footer-inner{max-width:1140px;margin:0 auto;padding:3rem 1.5rem 1.5rem;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.footer-brand .nav-brand{font-size:1.25rem;display:inline-block;margin-bottom:.75rem}
.footer-nap{font-style:normal;color:var(--muted);font-size:.9rem;line-height:1.9}
.footer-nap a{color:var(--muted);text-decoration:none}
.footer-nap a:hover{color:var(--teal)}
.footer-col h4{font-family:var(--font-head);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--white);margin-bottom:.85rem}
.footer-col ul{list-style:none;padding:0}
.footer-col li{padding:.25rem 0}
.footer-col a{color:var(--muted);text-decoration:none;font-size:.9rem}
.footer-col a:hover{color:var(--teal)}
.footer-bar{border-top:1px solid var(--border);text-align:center;padding:1.25rem;color:#4a6080;font-size:.8rem}

/* ---- accessibility + responsive ---- */
:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:3px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:860px){
  .two-col,.about-inner,.contact-grid{grid-template-columns:1fr;gap:2rem}
  .footer-inner{grid-template-columns:1fr 1fr}
  .btn-outline{margin-left:0;margin-top:.75rem}
  .nav-links{position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--dark);border-bottom:1px solid var(--border);padding:.5rem 1.5rem;display:none}
  .nav-links li{width:100%;border-bottom:1px solid var(--border)}
  .nav-links a{display:block;padding:.85rem 0;width:100%}
  .nav-toggle:checked ~ .nav-links{display:flex}
  .nav-burger{display:flex}
}
@media(max-width:520px){.footer-inner{grid-template-columns:1fr}}
