/* Network Computer Solutions — site stylesheet */
:root{
  --brand-color-primary:#3e68ae;
  --brand-color-secondary:#1f3d7c;
  --ink:#5a6a7a;
  --ink-nav:#5d6f8c;
  --line:#cdd9ea;
  --tint:#f2f7fb;
  --tint-strong:#dfe9f5;
  --font-body:'DM Sans',sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:#ffffff;color:var(--ink);font-family:var(--font-body)}
a{color:var(--brand-color-primary)}
a:hover{color:var(--brand-color-secondary)}
img{border:0;max-width:100%}
ul{margin:0;padding:0}

/* ---------- shared buttons ---------- */
.btn-outline-sm{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border:1px solid var(--line);border-radius:4px;color:var(--brand-color-primary);font-size:13px;font-weight:600;text-decoration:none}
.btn-outline-sm:hover{border-color:var(--brand-color-primary)}
.btn-primary{display:inline-block;padding:11px 24px;background:var(--brand-color-primary);color:#ffffff;border-radius:4px;font-size:14px;font-weight:600;text-decoration:none}
.btn-primary:hover{background:var(--brand-color-secondary);color:#ffffff}
.btn-dark{display:inline-block;padding:13px 26px;background:var(--brand-color-secondary);color:#ffffff;border-radius:4px;font-size:14px;font-weight:600;text-decoration:none}
.btn-dark:hover{background:#162d5e;color:#ffffff}
.btn-white{display:inline-block;padding:13px 26px;background:#ffffff;color:var(--brand-color-primary);border-radius:4px;font-size:14px;font-weight:600;text-decoration:none}
.btn-white:hover{background:var(--tint)}
.btn-ghost{display:inline-block;padding:13px 28px;background:transparent;border:1px solid #b9c9e2;color:var(--brand-color-primary);border-radius:4px;font-size:14px;font-weight:600;text-decoration:none}
.btn-ghost:hover{border-color:var(--brand-color-primary)}
.btn-dark-lg{display:inline-block;padding:14px 30px;background:var(--brand-color-secondary);color:#ffffff;border-radius:4px;font-size:15px;font-weight:600;text-decoration:none}
.btn-dark-lg:hover{background:var(--brand-color-primary);color:#ffffff}
.btn-white-lg{display:inline-block;padding:14px 30px;background:#ffffff;border:1px solid var(--line);color:var(--brand-color-primary);border-radius:4px;font-size:15px;font-weight:600;text-decoration:none}
.btn-white-lg:hover{border-color:var(--brand-color-primary)}

/* ---------- header ---------- */
.site-header{background:#ffffff;position:relative;z-index:60}
.site-header__inner{max-width:1280px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.site-logo{flex:0 0 auto}
.site-logo img{height:54px;display:block}
.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.utility-bar{display:flex;gap:12px}
.primary-nav{display:flex;align-items:center;gap:28px}
.nav-link{color:var(--ink-nav);font-size:15px;font-weight:500;text-decoration:none}
.nav-link:hover{color:var(--brand-color-primary)}
.has-dropdown{position:relative}
.dropdown{display:none;position:absolute;top:100%;left:0;padding-top:12px;z-index:99}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{display:block}
.dropdown-menu{background:#ffffff;box-shadow:0 10px 28px rgba(31,61,124,0.18);border-radius:4px;min-width:240px;display:flex;flex-direction:column;padding:8px 0}
.dropdown-menu a{padding:10px 18px;font-size:14px;color:var(--ink-nav);text-decoration:none;font-weight:500}
.dropdown-menu a:hover{color:var(--brand-color-primary);background:#f2f6fc}
.mobile-actions{display:none;align-items:center;gap:12px}
.icon-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:4px}
.burger{background:none;border:1px solid var(--line);border-radius:4px;padding:11px 12px;cursor:pointer;display:flex;flex-direction:column;gap:5px}
.burger span{display:block;width:22px;height:2px;background:var(--brand-color-secondary)}
.mobile-nav{display:none;flex-direction:column;border-top:1px solid #e6ecf5;padding:12px 24px 20px;gap:2px;background:#ffffff}
.mobile-nav.is-open{display:flex}
.mobile-nav__link{padding:10px 0;color:var(--brand-color-secondary);font-size:15px;font-weight:600;text-decoration:none}
.mobile-nav__sublink{padding:8px 0 8px 16px;color:var(--ink-nav);font-size:14px;text-decoration:none}
.mobile-nav__pdf{padding:10px 0;color:var(--brand-color-primary);font-size:15px;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.mobile-nav__actions{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}
.mobile-nav__actions .btn-primary,.mobile-nav__actions .btn-outline-md{padding:12px 24px;font-size:14px;font-weight:600;border-radius:4px;text-decoration:none;display:inline-block}
.btn-outline-md{border:1px solid var(--line);color:var(--brand-color-primary)}
.btn-outline-md:hover{border-color:var(--brand-color-primary)}
@media (max-width:979px){
  .header-right{display:none}
  .mobile-actions{display:flex}
}
@media (min-width:980px){
  .mobile-nav{display:none}
}

/* ---------- home hero ---------- */
.hero{position:relative;min-height:520px;display:flex;background:#c6d4e6}
.hero__media{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;object-fit:cover;display:block}
.hero__inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:0 24px;width:100%;display:flex;align-items:flex-end;pointer-events:none}
.hero__card{background:var(--brand-color-primary);color:#ffffff;padding:48px 53px;max-width:704px;margin:180px 0 56px -53px;pointer-events:auto}
.hero__card h1{margin:0 0 12px;font-size:38px;font-weight:600;line-height:1.2}
.hero__card p{margin:0 0 26px;font-size:15px;line-height:1.6}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- generic type ---------- */
.eyebrow{margin:0 0 12px;color:var(--brand-color-primary);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.h2{margin:0 0 20px;color:var(--brand-color-secondary);font-size:34px;font-weight:600;line-height:1.25;text-wrap:pretty}
.section-title{margin:0 0 44px;text-align:center;color:var(--brand-color-secondary);font-size:34px;font-weight:600}
.body-text{margin:0 0 28px;color:var(--ink);font-size:15px;line-height:1.85}
.img-fluid{width:100%;display:block}

/* ---------- home sections ---------- */
.intro{background:var(--tint);padding:80px 24px}
.split{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:60px;align-items:center}
.services{background:#ffffff;padding:80px 24px 40px}
.services__grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:48px}
.service-card{display:flex;flex-direction:column;gap:14px}
.service-card__head{display:flex;align-items:center;gap:18px}
.service-card__head img{width:64px;height:64px;display:block}
.service-card h3{margin:0;font-size:20px;font-weight:600;line-height:1.3}
.service-card h3 a{text-decoration:none}
.service-card p{margin:0;color:var(--ink);font-size:14px;line-height:1.8}
.videos{background:#ffffff;padding:40px 24px 70px}
.videos__grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}
.video-embed{position:relative;padding-top:56.25%}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.community-home{background:#ffffff;padding:30px 24px 80px}
.community-home .h2{margin:0 0 18px}
.community-home .body-text{margin:0 0 18px}
.org-list{margin:0 0 30px;padding-left:20px;color:var(--ink);font-size:14px;line-height:2.1;columns:2;column-gap:36px}

/* ---------- testimonials ---------- */
.testimonials{background:#ffffff;padding:70px 24px 60px}
.testimonials__title{margin:0;text-align:center;color:var(--brand-color-secondary);font-size:32px;font-weight:600}
.testimonials__grid{max-width:1280px;margin:36px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.testimonial{border:1px solid #e3e9f2;border-radius:4px;padding:36px;background:#ffffff;display:flex;flex-direction:column;gap:18px}
.testimonial__stars{height:22px;width:130px;object-fit:contain;object-position:left}
.testimonial p{margin:0;color:var(--ink);font-size:15px;line-height:1.9}
.testimonial__author{margin:auto 0 0;color:var(--brand-color-primary);font-weight:600;font-size:13px;letter-spacing:1px;text-transform:uppercase}
.testimonials__dots{display:flex;justify-content:center;gap:10px;margin-top:30px}
.testimonials__dots .dot{width:10px;height:10px;border-radius:50%;border:none;cursor:pointer;padding:0;background:#c6d3e8}
.testimonials__dots .dot.is-active{background:var(--brand-color-primary)}
@media (max-width:1099px){.testimonials__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:679px){.testimonials__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- closing CTA ---------- */
.contact-cta{background:var(--tint-strong);padding:64px 24px;text-align:center}
.contact-cta__eyebrow{margin:0;color:var(--brand-color-secondary);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.contact-cta h2{margin:14px auto 28px;max-width:900px;color:var(--brand-color-secondary);font-size:36px;font-weight:600;line-height:1.3;text-wrap:pretty}
.contact-cta__actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}

/* ---------- footer ---------- */
.site-footer{background:#ffffff;padding:56px 24px 0}
.site-footer__inner{max-width:1280px;margin:0 auto;display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start;justify-content:space-between}
.site-footer__map{width:300px;max-width:100%;height:180px;border:0;border-radius:4px}
.site-footer__brand{display:flex;flex-direction:column;align-items:center;gap:16px}
.site-footer__brand img{height:52px;display:block}
.social-facebook{width:38px;height:38px;border-radius:50%;background:var(--brand-color-primary);color:#ffffff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;text-decoration:none;font-family:Georgia,serif}
.social-facebook:hover{background:var(--brand-color-secondary);color:#ffffff}
.site-footer__contact{margin:0;color:var(--ink);font-size:14px;line-height:2.1}
.site-footer__contact a{text-decoration:none}
.site-footer__contact a.phone{font-weight:700}
.btn-remote{display:inline-flex;align-items:center;gap:9px;padding:12px 26px;background:var(--brand-color-primary);color:#ffffff;border-radius:4px;font-size:14px;font-weight:600;text-decoration:none}
.btn-remote:hover{background:var(--brand-color-secondary);color:#ffffff}
.site-footer__legal{border-top:1px solid #e8edf5;margin-top:44px;padding:20px 0;text-align:center;color:#8a97a8;font-size:12px}
.site-footer__legal a{color:#8a97a8}

/* ---------- interior pages ---------- */
.page-banner{position:relative;min-height:300px;display:flex;align-items:center;background:#24365c}
.page-banner__media{position:absolute;inset:0}
.page-banner__media img{width:100%;height:100%;object-fit:cover;display:block}
.page-banner__inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:24px;width:100%;pointer-events:none}
.page-banner h1{display:inline-block;background:var(--brand-color-primary);color:#ffffff;margin:0;padding:22px 46px;font-size:38px;font-weight:600}
.page-banner h1.is-long{font-size:34px;line-height:1.3}
.page-body{background:var(--tint);padding:64px 24px}
.page-body__inner{max-width:1280px;margin:0 auto;display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.page-body__main{flex:1 1 560px;min-width:0}
.page-sidebar{flex:1 1 300px;max-width:420px;position:sticky;top:24px;align-self:flex-start}
.page-body--full{max-width:1280px;margin:0 auto}
.section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;flex-wrap:wrap}
.section-head h2{margin:0 0 10px;color:var(--brand-color-secondary);font-size:34px;font-weight:600;line-height:1.25}
.section-head h2.is-wide{margin:0 0 20px;max-width:520px;text-wrap:pretty}
.section-head h2.is-contact{margin:0 0 30px;max-width:640px;text-wrap:pretty}
.section-head__icon{width:96px;height:96px}
.section-head__icon--sm{width:80px;height:80px}
.spec-list{margin:10px 0 26px;padding-left:20px;color:var(--ink);font-size:15px;line-height:2.1}
.page-text{margin:0 0 40px;color:var(--ink);font-size:15px;line-height:1.85}
.page-text--loose{margin:0 0 48px}
.page-text--tight{margin:0 0 18px}
.page-text--intro{margin:0 0 44px}
.page-text--list{margin:0 0 36px}
.h3-blue{margin:0 0 14px;color:var(--brand-color-secondary);font-size:22px;font-weight:600}
.h3-blue--list{margin:0 0 16px}
.h3-blue--brands{margin:0 0 22px}
.services-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px}
.service-col{text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}
.service-col img{width:80px;height:80px;display:block}
.service-col h3{margin:0;font-size:19px;font-weight:600;line-height:1.3}
.service-col h3 a{text-decoration:none}
.service-col p{margin:0;color:var(--ink);font-size:14px;line-height:1.8}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px;margin-bottom:48px}
.feature{display:flex;flex-direction:column;gap:14px}
.feature img{width:80px;height:80px}
.feature h3{margin:0;color:var(--brand-color-primary);font-size:20px;font-weight:600;line-height:1.3}
.feature p{margin:0;color:var(--ink);font-size:14px;line-height:1.85}
.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:18px}
.brand-grid img{width:100%;display:block;border-radius:4px}
.org-list--interior{margin:0 0 36px;padding-left:20px;color:var(--ink);font-size:15px;line-height:2.2;columns:2;column-gap:40px}
.community-photo{width:100%;max-width:640px;display:block}

/* ---------- FAQs ---------- */
.faqs{border-bottom:1px solid var(--line)}
.faq-item{border-top:1px solid var(--line)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;background:none;border:0;cursor:pointer;color:var(--brand-color-secondary);font-family:var(--font-body);font-size:16px;font-weight:600;line-height:1.4;text-align:left}
.faq-sign{flex:0 0 auto;color:var(--brand-color-primary);font-size:20px;font-weight:600}
.faq-answer{display:none;padding:0 0 16px}
.faq-q[aria-expanded="true"] + .faq-answer{display:block}
.faq-answer p{margin:0;color:var(--ink);font-size:15px;line-height:1.8}

/* ---------- forms ---------- */
.form-stack{display:flex;flex-direction:column;gap:12px}
.ff-input,.ff-textarea{width:100%;padding:13px 14px;border-radius:4px;font-family:var(--font-body);font-size:14px;background-color:#ffffff;color:#171a1f;line-height:normal;box-shadow:none}
.ff-textarea{resize:vertical}
.ff-input::placeholder,.ff-textarea::placeholder{color:#757575;opacity:1}
.ff-submit{border-radius:4px;font-family:var(--font-body);font-weight:600;cursor:pointer;line-height:normal}
#ffm-form-sidebar .ff-input,#ffm-form-sidebar .ff-textarea{border:none}
#ffm-form-sidebar .ff-submit{margin-top:4px;padding:13px 24px;background:transparent;border:1px solid #ffffff;color:#ffffff;font-size:14px}
#ffm-form-sidebar .ff-submit:hover{background:#ffffff;color:var(--brand-color-primary)}
#ffm-form-contact .ff-input,#ffm-form-contact .ff-textarea,#ffm-form-quote .ff-input,#ffm-form-quote .ff-textarea{border:1px solid #cfd9e8}
#ffm-form-contact .ff-submit{align-self:flex-start;padding:13px 30px;background:var(--brand-color-primary);border:0;color:#ffffff;font-size:14px}
#ffm-form-quote .ff-submit{align-self:flex-start;padding:14px 40px;background:var(--brand-color-primary);border:0;color:#ffffff;font-size:15px}
#ffm-form-contact .ff-submit:hover,#ffm-form-quote .ff-submit:hover{background:var(--brand-color-secondary)}
.sidebar-quote__photo{width:100%;display:block;position:relative;z-index:2;margin-bottom:-6px}
.sidebar-quote__box{background:var(--brand-color-primary);border-radius:4px;padding:30px 28px 34px;color:#ffffff}
.sidebar-quote__box h3{margin:0 0 10px;font-size:26px;font-weight:600}
.sidebar-quote__box p{margin:0 0 20px;font-size:14px;line-height:1.7;opacity:0.95}
.sidebar-quote__box p a{color:#ffffff;font-weight:600}
.contact-grid{display:flex;flex-wrap:wrap;gap:40px;align-items:stretch}
.contact-card{flex:1 1 440px;background:#ffffff;border-radius:4px;padding:36px}
.contact-card h3{margin:0 0 4px;color:var(--brand-color-secondary);font-size:24px;font-weight:600}
.contact-card__eyebrow{margin:0 0 24px;color:var(--brand-color-primary);font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase}
.contact-form{display:flex;flex-direction:column;gap:14px}
.contact-map{flex:1 1 440px;min-height:420px;border-radius:4px;overflow:hidden}
.contact-map iframe{width:100%;height:100%;min-height:420px;border:0;display:block}
.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px;margin-top:56px}
.contact-info h3{margin:0 0 12px;color:var(--brand-color-secondary);font-size:19px;font-weight:600}
.contact-info p{margin:0;color:var(--ink);font-size:15px;line-height:1.9}
.free-quote-card{max-width:980px;margin:0 auto;background:#ffffff;border-radius:4px;padding:44px}
.free-quote-card h2{margin:0 0 12px;color:var(--brand-color-secondary);font-size:32px;font-weight:600}
.free-quote-card__intro{margin:0 0 32px;color:var(--ink);font-size:15px;line-height:1.85}
.quote-form{display:flex;flex-direction:column;gap:22px}
.field-label{margin:0 0 10px;color:var(--brand-color-secondary);font-size:15px;font-weight:700}
.field-label--group{margin:0 0 12px}
.field-row-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.field-row-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.field-row-3-sm{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.field-stack{display:flex;flex-direction:column;gap:14px}
.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px}
.checkbox{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:14px;cursor:pointer}
.checkbox input{width:16px;height:16px;accent-color:var(--brand-color-primary)}
