/*-------------------------------------------------------
author: ncpc 
version: 1.0
NCPC landing page
  Brand palette extracted from the NCPC logo:
    deep navy  #22225B   (wordmark, dark sections, headings)
    plum       #3E1643   (logo second tone — depth accent)
    slate      #4C4B7D   (secondary surfaces / imagery tint)
    brick red  #942426   (buttons, links, icons)  hover #7D1319
  Fonts: Plus Jakarta Sans (headings) + Inter (body)

  SWAP-IN NOTES:
  • Hero + CTA images are inline SVG placeholders. Search  data:image/svg
  • Form submits client-side (captcha + confirmation). Point <form action> at your
    endpoint / n8n webhook and remove the JS handler for a native POST.
  • Colors/fonts live in :root.
-------------------------------------------------------*/

  :root{
    /* --- NCPC brand --- */
    --navy:#22225B;
    --plum:#3E1643;
    --slate:#4C4B7D;
    --slate-light:#656487;
    --accent:#942426;
    --accent-light:#9B393B;
    --accent-dark:#7D1319;
    /* --- tints derived from brand --- */
    --accent-tint:#F7EEEE;
    --accent-tint-border:#EAD3D4;
    --on-dark-muted:#C2C1D6;
    /* --- neutrals --- */
    --text:#333840;
    --muted:#5c6470;
    --border:#dde2e8;
    --soft:#f5f6fa;
    --display:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,sans-serif;
    --body:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;
    --wrap:1180px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);color:var(--text);line-height:1.55;background:#fff;-webkit-font-smoothing:antialiased}
  p {margin:0 0 0.6em 0;}
  img{display:block;max-width:100%}
  a{color:var(--accent);text-decoration:none}
  a:hover{text-decoration:underline}
  h1,h2,h3,h4{font-family:var(--display);color:var(--navy);line-height:1.15;letter-spacing:-.01em}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
  .req{color:var(--accent);font-weight:700}

  /* ---------- HEADER ---------- */
  .site-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--border)}
  .header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
  .logo{flex:none;display:flex;align-items:center}
  .logo img{height:52px;width:auto}
  .header-right{display:flex;align-items:center;gap:20px}
  .main-nav ul{list-style:none;display:flex;align-items:center;gap:20px}
  .main-nav a{color:var(--navy);font-weight:700;font-size:13px;letter-spacing:.03em;
              display:inline-flex;align-items:center;gap:5px;padding:6px 0}
  .main-nav a:hover{color:var(--accent);text-decoration:none}
  .main-nav svg{width:9px;height:9px;opacity:.7}
  .header-phone{display:inline-flex;align-items:center;gap:7px;color:var(--accent);
                font-weight:700;font-size:17px;white-space:nowrap}
  .header-phone svg{width:18px;height:18px}
  .nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;color:var(--navy)}
  .nav-toggle svg{width:25px;height:25px}

  /* ---------- HERO ---------- */
  .hero{background:linear-gradient(180deg,#fbfbfd 0%,#f1f1f6 100%)}
  .hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:44px 0 38px}
  .hero h1{font-size:46px;font-weight:800}
  .hero .tagline{font-family:var(--display);color:var(--accent);font-size:25px;margin:6px 0 20px;font-weight:700}
  .hero p{font-size:15.5px;color:var(--text);max-width:540px}
  .hero p b{color:var(--accent);font-weight:700}

  /* ---------- FEATURES BAR ---------- */
  .features{background:var(--navy)}
  .features .wrap{padding:30px 20px}
  .feature{display:flex;gap:14px;align-items:flex-start;padding:0 20px 0 24px;
           border-left:1px solid rgba(255,255,255,.18)}
  .feature:first-child{border-left:0;padding-left:0}
  .feature .ficon{flex:none;width:48px;height:48px;border-radius:50%;background:#fff;
                  display:grid;place-items:center}
  .feature .ficon svg{width:23px;height:23px;fill:var(--navy)}
  .feature h3{color:#fff;font-size:16.5px;margin-bottom:3px}
  .feature p{color:var(--on-dark-muted);font-size:13px;line-height:1.45}

  /* ---------- MAIN CONTENT ---------- */
  .content{padding:52px 0}
  .content-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:start}

  .form-head{display:flex;align-items:center;gap:16px;margin-bottom:6px}
  .form-head .badge{flex:none;width:54px;height:54px;border-radius:50%;background:var(--accent);
                    display:grid;place-items:center}
  .form-head .badge svg{width:26px;height:26px;fill:#fff}
  .form-head h2{font-size:25px}
  .form-head p{color:var(--muted);font-size:14px;margin-top:2px}

  .request-form{margin-top:24px}
  .field{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:start;margin-bottom:18px}
  .field > label{font-weight:700;color:var(--navy);font-size:13.5px;padding-top:9px}
  .field .inputs{display:flex;flex-direction:column;gap:4px}
  .name-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .name-row .sub{font-size:11px;color:var(--muted);margin-top:3px}
  input[type=text],input[type=email],input[type=tel],select,textarea{
    width:100%;font-family:var(--body);font-size:14px;color:var(--text);
    border:1px solid var(--border);border-radius:5px;padding:10px 12px;background:#fff}
  input::placeholder,textarea::placeholder{color:#9aa2ad}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);
    box-shadow:0 0 0 3px rgba(148,36,38,.15)}
  select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23808893' stroke-width='1.6'/%3E%3C/svg%3E");
          background-repeat:no-repeat;background-position:right 14px center;background-size:11px;padding-right:34px}
  textarea{min-height:110px;resize:vertical}

  .captcha-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  .captcha-word{font-family:var(--display);letter-spacing:.45em;font-size:19px;color:var(--navy);
    background:var(--accent-tint);border:1px solid var(--accent-tint-border);border-radius:5px;
    padding:8px 14px 8px 18px;user-select:none}
  .captcha-row input{max-width:160px}
  .captcha-note{font-size:11px;color:var(--muted);margin-top:4px}
  .note{padding-left: 5px; margin:12px 0 4px;font-size:12px;color:var(--muted)}
  .spam-note .sicon{flex:none;width:24px;height:24px;border-radius:5px;background:var(--accent);
    display:grid;place-items:center}
  .spam-note .sicon svg{width:14px;height:14px;fill:#fff}
   .image-left {float:left; margin:0 15px 0 0;}
  .submit-btn{background:var(--accent);color:#fff;border:0;border-radius:5px;
    font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.04em;
    padding:13px 30px;cursor:pointer;transition:background .15s}
  .submit-btn:hover{background:var(--accent-dark)}
  .privacy-note{display:flex;gap:8px;align-items:flex-start;font-size:11.5px;color:var(--muted);
    margin-top:12px;max-width:400px}
  .privacy-note svg{width:14px;height:15px;fill:var(--muted);flex:none;margin-top:1px}
    .form-field {padding: 3px 10px 3px 6px; font-size: 0.9rem;width: 85%;color: #181412;transition: border-color 0.2s;outline: none;border-radius: 0;  }
   .form-state {padding: 3px 200px 3px 6px; font-size: 0.9rem;width: 85%;color: #181412;transition: border-color 0.2s;outline: none;border-radius: 0;  }
  .form-message{margin-top:14px;padding:11px 13px;border-radius:6px;font-size:13px;display:none}
  .form-message.show{display:block}
  .form-message.success{background:#eef4ec;border:1px solid #cfe1c6;color:#356030}
  .form-message.error{background:var(--accent-tint);border:1px solid var(--accent-tint-border);color:var(--accent-dark)}

  /* ---------- SIDEBAR ---------- */
  .sidebar{display:flex;flex-direction:column;gap:16px}
  .card{background:var(--soft);border:1px solid #e8e9f0;border-radius:8px;padding:20px 22px}
  .card-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
  .card-head .cicon{flex:none;width:38px;height:38px;border-radius:50%;background:var(--accent);
    display:grid;place-items:center}
  .card-head .cicon svg{width:19px;height:19px;fill:#fff}
  .card-head h3{font-size:17.5px}
  .card p{font-size:13.5px;color:var(--text)}
  .card .navy-strong{color:var(--navy);font-weight:700}
  .contact-name{color:var(--navy);font-weight:700;font-size:14.5px}
  .contact-sub{color:var(--text);font-size:13px;margin-bottom:10px}
  .contact-label{color:var(--navy);font-weight:700;font-size:11.5px;margin-top:9px}
  .contact-phone{display:inline-block;color:var(--accent);font-weight:700;font-size:21px;
    line-height:1.1;margin:2px 0;white-space:nowrap}
  .contact-addr{font-size:13px;color:var(--text);margin-top:7px}
  .contact-web{font-size:13.5px}

  /* ---------- CTA BANNER ---------- */
  .cta{background:var(--navy);color:#fff;overflow:hidden}
  .cta-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;min-height:180px}
  .cta-img{width:100%;height:180px;object-fit:contain;}
  .cta-mid{padding:22px 0}
  .cta-mid h2{color:#fff;font-size:27px;margin-bottom:7px}
  .cta-mid p{color:var(--on-dark-muted);font-size:14.5px;max-width:340px}
  .cta-call{display:flex;align-items:center;gap:16px;padding:22px 36px 22px 22px;
    border-left:1px solid rgba(255,255,255,.18)}
  .cta-call .callicon{flex:none;width:60px;height:60px;border-radius:50%;background:var(--accent);
    display:grid;place-items:center}
  .cta-call .callicon svg{width:28px;height:28px;fill:#fff}
  .cta-call .small{color:var(--on-dark-muted);font-size:13px}
  .cta-call .num{display:inline-block;color:#fff;font-family:var(--display);font-size:24px;
    font-weight:700;line-height:1.15;margin:2px 0;white-space:nowrap;text-decoration:none}
  .cta-call .num:hover{text-decoration:none}

  /* ---------- FOOTER ---------- */
  .site-footer{background:#fff;border-top:1px solid var(--border);padding:40px 0 20px}
  .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.3fr 1.2fr;gap:34px}
  .footer-logo{display:inline-block;margin-bottom:14px}
  .footer-logo img{height:74px;width:auto}
  .footer-about{font-size:12.5px;color:var(--muted);max-width:330px}
  .footer-col h4{font-size:15.5px;margin-bottom:12px}
  .footer-col ul{list-style:none}
  .footer-col li{margin-bottom:8px;font-size:13px}
  .footer-col a{color:var(--accent)}
  .footer-contact-item{display:flex;gap:9px;align-items:flex-start;font-size:13px;
    color:var(--text);margin-bottom:10px}
  .footer-contact-item svg{width:15px;height:15px;fill:var(--accent);flex:none;margin-top:2px}
  .footer-bottom{border-top:1px solid var(--border);margin-top:26px;padding-top:14px;
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
    font-size:11.5px;color:var(--muted)}
  .footer-bottom a{color:var(--muted)}
  .footer-bottom .legal{display:flex;gap:14px}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:1024px){
    .hero h1{font-size:40px}
    .hero .tagline{font-size:23px}
    .hero-photo img{height:360px}
    .feature{padding:0 14px}
  }
  @media (max-width:899px){
    .nav-toggle{display:flex;order:3}
    .header-right{gap:12px}
    .main-nav{position:absolute;top:100%;left:0;right:0;background:#fff;
      border-bottom:1px solid var(--border);box-shadow:0 8px 18px rgba(34,34,91,.10);display:none}
    .main-nav.open{display:block}
    .main-nav ul{flex-direction:column;align-items:stretch;gap:0;padding:6px 20px}
    .main-nav li{border-bottom:1px solid var(--border)}
    .main-nav li:last-child{border-bottom:0}
    .main-nav a{padding:13px 0;font-size:14px}

    .hero-inner{grid-template-columns:1fr;gap:26px;padding:32px 0 28px}
    .hero h1{font-size:34px}
    .hero .tagline{font-size:21px}
    .hero-photo img{height:300px}

    .feature-grid{grid-template-columns:1fr 1fr;gap:24px 0}
    .feature{border-left:0;padding:0 18px;border-bottom:0}
    .feature:nth-child(odd){padding-left:0}
    .feature:nth-child(even){border-left:1px solid rgba(255,255,255,.18)}

    .content-grid{grid-template-columns:1fr;gap:40px}

    .cta-inner{grid-template-columns:1fr;gap:0;text-align:left}
    .cta-img{width:100%;height:180px}
    .cta-mid{padding:24px 20px 6px}
    .cta-call{border-left:0;padding:8px 20px 26px}

    .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  }
  @media (max-width:560px){
    .wrap{padding:0 16px}
    .header-inner{min-height:66px}
    .logo img{height:42px}
    .header-phone .num{display:none}

    .hero h1{margin:16px 0 0 0;font-size:27px}
    .hero .tagline{font-size:18px;margin:5px 0 16px}
    .hero p{font-size:14.5px}
    .hero-photo img{height:auto;aspect-ratio:16/10}

    .feature-grid{grid-template-columns:1fr;gap:20px 0}
    .feature{padding:0;border-left:0 !important}
    .feature .ficon{width:42px;height:42px}
    .feature .ficon svg{width:20px;height:20px}
    .feature h3{font-size:15.5px}
    .feature p{font-size:12.5px}

    .content{padding:40px 0}
    .form-head .badge{width:44px;height:44px}
    .form-head .badge svg{width:22px;height:22px}
    .form-head h2{font-size:20px}
    .form-head p{font-size:13px}
    .field{grid-template-columns:1fr;gap:5px;margin-bottom:15px}
    .field > label{padding-top:0;font-size:13px}
    .name-row{grid-template-columns:1fr;gap:10px}
    .captcha-word{font-size:17px;letter-spacing:.38em}
    .submit-btn{width:100%}

    .card{padding:18px 18px}
    .card-head .cicon{width:34px;height:34px}
    .card-head .cicon svg{width:17px;height:17px}
    .card-head h3{font-size:16px}
    .card p{font-size:13px}
    .contact-phone{font-size:19px}

	.cta-img{width:100%;height:180px;object-fit:contain;}
    .cta-mid h2{font-size:21px}
    .cta-mid p{font-size:13.5px}
    .cta-call .callicon{width:50px;height:50px}
    .cta-call .callicon svg{width:24px;height:24px}
    .cta-call .num{font-size:21px}
    .cta-call .small{font-size:12.5px}

    .footer-grid{grid-template-columns:1fr;gap:24px}
    .footer-logo img{height:40px}
  }