/*
Theme Name: GNC Studio
Theme URI: https://gncstudio.nl
Author: GNC Studio
Author URI: https://gncstudio.nl
Description: Eigen thema voor GNC Studio, website & branding studio. Donker premium hero met bewegende netwerk animatie, lichte pagina's met blauw en oranje merkkleuren.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: gnc-studio
*/

:root{
    --gncs-bg:#ffffff;
    --gncs-bg-alt:#f4f8fb;
    --gncs-card:#ffffff;
    --gncs-border:rgba(15,23,42,0.10);
    --gncs-text:#12151d;
    --gncs-text-dim:#5b6472;
    --gncs-blue:#0d5a8f;
    --gncs-blue-deep:#083b5c;
    --gncs-orange:#f7841c;
    --gncs-grad: linear-gradient(135deg, var(--gncs-blue), var(--gncs-orange));
  }
  .gncs-root *{box-sizing:border-box;}
  .gncs-root{
    background:var(--gncs-bg);
    color:var(--gncs-text);
    font-family:'Inter', sans-serif;
    line-height:1.5;
  }
  .gncs-root h1, .gncs-root h2, .gncs-root h3, .gncs-root .gncs-logo{
    font-family:'Space Grotesk', sans-serif;
    letter-spacing:-0.01em;
  }
  .gncs-wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 28px;
  }

  /* Header */
  .gncs-header{
    position:sticky;
    top:0;
    z-index:50;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:22px 28px;
    background:#ffffff;
    border-bottom:1px solid transparent;
    transition:padding .3s ease, border-color .3s ease, box-shadow .3s ease;
  }
  .gncs-header.is-scrolled{
    padding:13px 28px;
    border-bottom-color:var(--gncs-border);
    box-shadow:0 10px 30px -20px rgba(15,23,42,0.25);
  }
  .gncs-logo{
    font-size:19px;
    font-weight:700;
    color:var(--gncs-text);
    text-decoration:none;
  }
  .gncs-logo span{
    background:var(--gncs-grad);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .gncs-logo-img{
    height:34px;
    width:auto;
    display:block;
  }
  .gncs-logo-img-footer{
    height:28px;
  }
  .gncs-nav{
    display:flex;
    align-items:center;
    gap:30px;
    list-style:none;
    margin:0;
    padding:0;
  }
  .gncs-nav li{
    list-style:none;
    margin:0;
    padding:0;
  }
  .gncs-nav a{
    color:var(--gncs-text-dim);
    text-decoration:none;
    font-size:14.5px;
    font-weight:500;
    transition:color .2s ease;
  }
  .gncs-nav a:hover{color:var(--gncs-text);}
  .gncs-header-actions{
    display:flex;
    align-items:center;
    gap:12px;
  }
  .gncs-icon-btn{
    width:40px;
    height:40px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--gncs-bg-alt);
    border:1px solid var(--gncs-border);
    color:var(--gncs-text);
    text-decoration:none;
    flex-shrink:0;
  }
  .gncs-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:11px 22px;
    border-radius:999px;
    font-weight:600;
    font-size:14.5px;
    text-decoration:none;
    white-space:nowrap;
    border:1px solid transparent;
    cursor:pointer;
  }
  .gncs-btn-primary{
    background:var(--gncs-grad);
    color:#ffffff;
    box-shadow:0 10px 24px -10px rgba(58,160,232,0.55);
  }
  .gncs-btn-ghost{
    background:transparent;
    border:1px solid var(--gncs-border);
    color:var(--gncs-text);
  }

  /* Mobile menu toggle */
  .gncs-menu-toggle{
    display:none;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    width:40px;
    height:40px;
    flex-shrink:0;
    border:1px solid var(--gncs-border);
    border-radius:12px;
    background:#ffffff;
    cursor:pointer;
    padding:0;
  }
  .gncs-menu-toggle span{
    display:block;
    width:18px;
    height:2px;
    border-radius:2px;
    background:var(--gncs-text);
    transition:transform .25s ease, opacity .25s ease;
  }
  .gncs-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .gncs-menu-toggle.is-open span:nth-child(2){opacity:0;}
  .gncs-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* Mobile nav panel */
  .gncs-mobile-nav{
    display:none;
    position:sticky;
    top:0;
    z-index:49;
    background:#ffffff;
    border-bottom:1px solid var(--gncs-border);
    max-height:0;
    overflow:hidden;
    opacity:0;
    transition:max-height .3s ease, opacity .25s ease;
  }
  .gncs-mobile-nav.is-open{
    max-height:80vh;
    opacity:1;
    overflow-y:auto;
  }
  .gncs-mobile-nav-links{
    display:flex;
    flex-direction:column;
    padding:10px 24px 6px;
  }
  .gncs-mobile-nav-links > a,
  .gncs-mobile-nav-group > a{
    padding:14px 4px;
    font-size:16px;
    font-weight:600;
    color:var(--gncs-text);
    text-decoration:none;
    border-bottom:1px solid var(--gncs-border);
  }
  .gncs-mobile-nav-sub{
    display:flex;
    flex-direction:column;
    padding:2px 0 8px 14px;
    border-bottom:1px solid var(--gncs-border);
  }
  .gncs-mobile-nav-sub a{
    padding:10px 4px;
    font-size:14.5px;
    font-weight:500;
    color:var(--gncs-text-dim);
    text-decoration:none;
  }
  .gncs-mobile-nav-actions{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:16px 24px 22px;
  }
  .gncs-mobile-nav-actions .gncs-btn{
    width:100%;
  }

  /* Hero */
  .gncs-hero{
    position:relative;
    padding:110px 28px 90px;
    overflow:hidden;
    border-bottom:1px solid var(--gncs-border);
    background:linear-gradient(180deg, #f7fafd 0%, #ffffff 55%);
  }
  .gncs-hero-canvas{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0.75;
  }
  .gncs-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(90px);
    pointer-events:none;
    opacity:0.30;
  }
  .gncs-glow-1{
    width:420px;height:420px;
    background:var(--gncs-orange);
    top:-140px; right:-80px;
    animation:gncs-float 14s ease-in-out infinite;
  }
  .gncs-glow-2{
    width:320px;height:320px;
    background:var(--gncs-blue);
    bottom:-120px; left:-60px;
    animation:gncs-float 18s ease-in-out infinite reverse;
  }
  @keyframes gncs-float{
    0%,100%{transform:translate(0,0);}
    50%{transform:translate(30px,-25px);}
  }
  .gncs-hero-inner{
    position:relative;
    z-index:2;
    max-width:1180px;
    margin:0 auto;
  }
  .gncs-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:7px 16px;
    border-radius:999px;
    border:1px solid var(--gncs-border);
    background:rgba(58,160,232,0.08);
    color:var(--gncs-blue-deep);
    font-size:13px;
    font-weight:600;
    margin-bottom:22px;
  }
  .gncs-eyebrow-dot{
    width:7px;height:7px;border-radius:50%;
    background:var(--gncs-grad);
    box-shadow:0 0 10px 2px rgba(255,140,60,0.5);
  }
  .gncs-hero h1{
    font-size:52px;
    font-weight:700;
    max-width:760px;
    margin:0 0 20px;
    line-height:1.12;
  }
  .gncs-hero h1 em{
    font-style:normal;
    background:var(--gncs-grad);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .gncs-hero p{
    max-width:560px;
    color:var(--gncs-text-dim);
    font-size:17px;
    margin:0 0 34px;
  }
  .gncs-hero-actions{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:64px;
  }

  /* Service cards */
  .gncs-cards{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:20px;
  }
  .gncs-card{
    position:relative;
    background:var(--gncs-card);
    border:1px solid var(--gncs-border);
    border-radius:16px;
    padding:26px 24px;
    box-shadow:0 12px 30px -20px rgba(15,23,42,0.18);
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    text-decoration:none;
    color:inherit;
    display:block;
  }
  .gncs-card-cta{
    margin-top:14px;
    font-size:13.5px;
    font-weight:600;
    color:var(--gncs-blue-deep);
  }
  .gncs-card:hover{
    transform:translateY(-4px);
    border-color:rgba(58,160,232,0.4);
    box-shadow:0 18px 34px -18px rgba(58,160,232,0.3);
  }
  .gncs-card-icon{
    width:46px;height:46px;
    border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(58,160,232,0.12);
    color:var(--gncs-blue-deep);
    margin-bottom:16px;
  }
  .gncs-card h3{
    font-size:17px;
    margin:0 0 8px;
  }
  .gncs-card p{
    color:var(--gncs-text-dim);
    font-size:14.5px;
    margin:0;
  }

  /* SEO strip */
  .gncs-strip-grid{
    margin-top:26px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .gncs-seo-strip{
    display:flex;
    align-items:center;
    gap:18px;
    background:linear-gradient(90deg, rgba(58,160,232,0.08), rgba(255,122,61,0.06));
    border:1px solid rgba(58,160,232,0.25);
    border-radius:16px;
    padding:20px 26px;
  }
  .gncs-strip-grid .gncs-seo-strip{margin-top:0;}
  .gncs-seo-strip .gncs-card-icon{margin-bottom:0; flex-shrink:0;}
  .gncs-seo-strip h4{margin:0 0 4px; font-size:15.5px; font-family:'Space Grotesk',sans-serif;}
  .gncs-seo-strip p{margin:0; color:var(--gncs-text-dim); font-size:14px;}
  @media (max-width:640px){
    .gncs-strip-grid{grid-template-columns:1fr;}
  }

  /* Generic section */
  .gncs-section{
    padding:90px 28px;
    border-bottom:1px solid var(--gncs-border);
  }
  .gncs-section-head{
    max-width:620px;
    margin:0 0 44px;
  }
  .gncs-section-head .gncs-eyebrow{margin-bottom:16px;}
  .gncs-section-head h2{
    font-size:34px;
    margin:0 0 14px;
  }
  .gncs-section-head p{
    color:var(--gncs-text-dim);
    font-size:15.5px;
    margin:0;
  }

  /* Interactive services section */
  .gncs-services-dark{
    background:linear-gradient(180deg, #f7fafd 0%, #ffffff 60%);
    position:relative;
    overflow:hidden;
  }
  .gncs-services-dark .gncs-glow-1{top:-140px; left:-100px; right:auto; width:340px; height:340px; background:rgba(13,90,143,0.16);}
  .gncs-services-dark .gncs-glow-2{bottom:-160px; right:-100px; left:auto; width:380px; height:380px; background:rgba(247,132,28,0.14);}
  .gncs-services-dark .gncs-network-canvas{z-index:0;}
  .gncs-services-dark .gncs-wrap{position:relative; z-index:1;}
  .gncs-network-subtle{opacity:0.5;}
  .gncs-services-interactive{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:40px;
    align-items:start;
  }
  .gncs-services-list{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .gncs-service-tab{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 18px;
    border-radius:14px;
    background:#ffffff;
    border:1px solid var(--gncs-border);
    color:var(--gncs-text);
    font-family:inherit;
    font-size:15px;
    font-weight:600;
    text-align:left;
    cursor:pointer;
    transition:background .2s ease, transform .2s ease, border-color .2s ease;
  }
  .gncs-service-tab:hover{background:var(--gncs-bg-alt); transform:translateX(2px);}
  .gncs-service-tab.is-active{
    background:linear-gradient(135deg, var(--gncs-orange), #ff9d47);
    border-color:transparent;
    color:#ffffff;
  }
  .gncs-tab-arrow{
    width:30px;
    height:30px;
    border-radius:50%;
    background:rgba(13,90,143,0.08);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    color:var(--gncs-blue-deep);
    transition:background .2s ease, color .2s ease;
  }
  .gncs-service-tab.is-active .gncs-tab-arrow{background:rgba(255,255,255,0.28); color:#ffffff;}
  .gncs-services-panel{
    background:#ffffff;
    border:1px solid var(--gncs-border);
    border-radius:20px;
    padding:44px;
    min-height:320px;
    box-shadow:0 30px 60px -34px rgba(15,23,42,0.18);
  }
  .gncs-service-content{display:none;}
  .gncs-service-content.is-active{display:block; animation:gncsFadeUp .35s ease;}
  .gncs-service-content h3{
    font-size:32px;
    margin:0 0 18px;
    color:var(--gncs-text);
    font-family:'Space Grotesk',sans-serif;
  }
  .gncs-service-content p{
    color:var(--gncs-text-dim);
    font-size:16px;
    line-height:1.75;
    margin:0 0 16px;
    max-width:600px;
  }
  .gncs-service-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--gncs-orange);
    font-weight:600;
    text-decoration:none;
    margin-top:8px;
  }
  .gncs-service-link:hover{text-decoration:underline;}
  @keyframes gncsFadeUp{
    from{opacity:0; transform:translateY(8px);}
    to{opacity:1; transform:translateY(0);}
  }
  @media (max-width:900px){
    .gncs-services-interactive{grid-template-columns:1fr;}
    .gncs-services-panel{padding:28px;}
  }

  /* Services pills */
  .gncs-pill-grid{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
  }
  .gncs-pill{
    padding:11px 18px;
    border-radius:10px;
    border:1px solid transparent;
    background:var(--gncs-bg-alt);
    color:var(--gncs-text-dim);
    font-size:14px;
    font-weight:600;
  }
  .gncs-pill-grid .gncs-pill:nth-child(4n+1){
    background:rgba(13,90,143,0.09);
    border-color:rgba(13,90,143,0.22);
    color:var(--gncs-blue-deep);
  }
  .gncs-pill-grid .gncs-pill:nth-child(4n+2){
    background:rgba(247,132,28,0.10);
    border-color:rgba(247,132,28,0.28);
    color:#b25e12;
  }
  .gncs-pill-grid .gncs-pill:nth-child(4n+3){
    background:rgba(23,28,38,0.06);
    border-color:rgba(23,28,38,0.14);
    color:var(--gncs-text);
  }
  .gncs-pill-grid .gncs-pill:nth-child(4n+4){
    background:rgba(58,160,232,0.10);
    border-color:rgba(58,160,232,0.26);
    color:#1c6ca8;
  }

  /* Projects grid */
  .gncs-projects-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px;
  }
  .gncs-project{
    position:relative;
    border-radius:16px;
    border:1px solid var(--gncs-border);
    background:var(--gncs-bg-alt);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    text-decoration:none;
    color:inherit;
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  }
  a.gncs-project{cursor:pointer;}
  a.gncs-project:hover{
    transform:translateY(-3px);
    border-color:rgba(13,90,143,0.35);
    box-shadow:0 16px 30px -18px rgba(15,23,42,0.25);
  }
  .gncs-project-thumb{
    width:100%;
    aspect-ratio:3/4;
    background-size:contain;
    background-repeat:no-repeat;
    background-position:top center;
    background-color:#f2f5f8;
    position:relative;
    flex-shrink:0;
  }
  .gncs-project-thumb.gncs-project-thumb-mark{
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, rgba(13,90,143,0.10), rgba(247,132,28,0.10));
  }
  .gncs-project-mark{
    width:44px;height:44px;
    border-radius:10px;
    background:var(--gncs-grad);
    color:#ffffff;
    font-family:'Space Grotesk',sans-serif;
    font-weight:700;
    font-size:15px;
    display:flex;align-items:center;justify-content:center;
  }
  .gncs-project-body{
    padding:14px 18px 18px;
  }
  .gncs-project-body h4{
    font-size:15.5px;
    margin:0 0 4px;
  }
  .gncs-project-body span{
    font-size:12.5px;
    color:var(--gncs-text-dim);
  }
  .gncs-tag-progress{
    position:absolute;
    top:14px; right:14px;
    z-index:2;
    font-size:11px;
    font-weight:600;
    padding:4px 10px;
    border-radius:999px;
    background:rgba(255,122,61,0.9);
    color:#ffffff;
  }

  /* Branding teaser */
  .gncs-branding{
    position:relative;
    border-radius:24px;
    border:1px solid var(--gncs-border);
    background:linear-gradient(135deg, rgba(58,160,232,0.08), rgba(255,122,61,0.05));
    padding:56px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    flex-wrap:wrap;
  }
  .gncs-branding h2{font-size:28px; margin:0 0 12px; max-width:420px;}
  .gncs-branding p{color:var(--gncs-text-dim); font-size:15px; max-width:440px; margin:0 0 24px;}
  .gncs-branding-swatches{
    display:flex;
    gap:10px;
  }
  .gncs-swatch{
    width:64px;height:64px;
    border-radius:14px;
    border:1px solid var(--gncs-border);
  }

  /* About */
  .gncs-about{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:56px;
    align-items:center;
  }
  .gncs-about-photo{
    aspect-ratio:4/5;
    border-radius:20px;
    background:linear-gradient(160deg, #eef5fb, #fdeee4);
    border:1px solid var(--gncs-border);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--gncs-text-dim);
    font-size:13px;
    text-align:center;
    padding:20px;
  }
  .gncs-about-body p{
    color:var(--gncs-text-dim);
    font-size:15.5px;
    margin:0 0 16px;
  }
  .gncs-about-stats{
    display:flex;
    gap:36px;
    margin-top:28px;
  }
  .gncs-about-stats div strong{
    display:block;
    font-family:'Space Grotesk',sans-serif;
    font-size:26px;
    background:var(--gncs-grad);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .gncs-about-stats div span{
    font-size:13px;
    color:var(--gncs-text-dim);
  }

  /* Contact */
  .gncs-contact{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:56px;
  }
  .gncs-contact-info p{color:var(--gncs-text-dim); font-size:15px; margin:0 0 24px;}
  .gncs-contact-row{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:16px;
  }
  .gncs-contact-row strong{display:block; font-size:14.5px;}
  .gncs-contact-row span{font-size:13.5px; color:var(--gncs-text-dim);}
  .gncs-form{
    background:var(--gncs-bg-alt);
    border:1px solid var(--gncs-border);
    border-radius:20px;
    padding:32px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
  }
  .gncs-form-field{display:flex; flex-direction:column; gap:6px;}
  .gncs-form-field.gncs-span-2{grid-column:1 / -1;}
  .gncs-form-field label{font-size:13px; color:var(--gncs-text-dim);}
  .gncs-form-field input, .gncs-form-field select, .gncs-form-field textarea{
    background:#ffffff;
    border:1px solid var(--gncs-border);
    border-radius:10px;
    padding:11px 13px;
    color:var(--gncs-text);
    font-family:'Inter',sans-serif;
    font-size:14px;
  }
  .gncs-form-field textarea{resize:vertical; min-height:90px;}
  .gncs-form-field select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%235b6472' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 12px center;
    background-size:15px;
    padding-right:36px;
    cursor:pointer;
  }
  .gncs-form-field select:focus{outline:2px solid rgba(13,90,143,0.3); outline-offset:1px;}
  .gncs-form .gncs-btn-primary{margin-top:6px;}

  /* Footer */
  .gncs-footer{
    padding:44px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:16px;
  }
  .gncs-footer-links{
    display:flex;
    flex-wrap:wrap;
    gap:12px 24px;
  }
  .gncs-footer-links a{
    color:var(--gncs-text-dim);
    text-decoration:none;
    font-size:13.5px;
  }
  .gncs-footer-copy{
    color:var(--gncs-text-dim);
    font-size:13px;
  }

  @media (max-width:960px){
    .gncs-nav{display:none;}
    .gncs-menu-toggle{display:flex;}
    .gncs-mobile-nav{display:block;}
    .gncs-header-actions .gncs-btn-primary{display:none;}
    .gncs-hero h1{font-size:38px;}
    .gncs-cards{grid-template-columns:repeat(2, 1fr) !important;}
    .gncs-projects-grid{grid-template-columns:repeat(2, 1fr);}
    .gncs-about, .gncs-contact{grid-template-columns:1fr;}
    .gncs-form{grid-template-columns:1fr;}
    .gncs-branding{padding:36px; flex-direction:column; align-items:flex-start;}
  }

  @media (max-width:520px){
    .gncs-header-actions .gncs-icon-btn{display:none;}
  }

  /* Service page extras */
  .gncs-steps{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
  }
  .gncs-step{
    background:var(--gncs-bg-alt);
    border:1px solid var(--gncs-border);
    border-radius:16px;
    padding:24px 20px;
  }
  .gncs-step-num{
    width:34px;height:34px;
    border-radius:50%;
    background:var(--gncs-grad);
    color:#ffffff;
    display:flex;align-items:center;justify-content:center;
    font-family:'Space Grotesk',sans-serif;
    font-weight:700;
    font-size:14px;
    margin-bottom:14px;
  }
  .gncs-step h4{margin:0 0 6px; font-size:15px;}
  .gncs-step p{margin:0; color:var(--gncs-text-dim); font-size:13.5px;}

  .gncs-cta-banner{
    border-radius:24px;
    background:linear-gradient(135deg, rgba(13,90,143,0.08), rgba(247,132,28,0.06));
    border:1px solid var(--gncs-border);
    padding:56px;
    text-align:center;
  }
  .gncs-cta-banner h2{margin:0 0 12px; font-size:30px;}
  .gncs-cta-banner p{margin:0 0 26px; color:var(--gncs-text-dim); font-size:15.5px;}
  .gncs-cta-banner .gncs-btn{margin:0 6px;}

  /* Website scan tool */
  .gncs-scan-card{
    background:#ffffff;
    border:1px solid var(--gncs-border);
    border-radius:22px;
    padding:30px;
    box-shadow:0 30px 60px -30px rgba(15,23,42,0.25);
    max-width:640px;
  }
  .gncs-scan-form{
    display:flex;
    gap:12px;
    align-items:flex-end;
  }
  .gncs-scan-field{flex:1;}
  .gncs-scan-field label{
    display:block;
    font-size:13px;
    font-weight:600;
    color:var(--gncs-text-dim);
    margin-bottom:8px;
  }
  .gncs-scan-field input{
    width:100%;
    padding:14px 16px;
    border-radius:12px;
    border:1px solid var(--gncs-border);
    font-size:15px;
    font-family:inherit;
    color:var(--gncs-text);
  }
  .gncs-scan-field input:focus{outline:2px solid rgba(13,90,143,0.35); outline-offset:1px;}
  .gncs-scan-submit{
    border:none;
    font-family:inherit;
    flex-shrink:0;
  }
  .gncs-scan-note{
    margin:16px 0 0;
    font-size:13px;
    color:var(--gncs-text-dim);
  }
  .gncs-scan-note a{color:var(--gncs-blue-deep);}
  .gncs-scan-status{
    display:none;
    align-items:center;
    gap:12px;
    margin-top:22px;
    padding:16px 18px;
    border-radius:14px;
    background:var(--gncs-bg-alt);
    border:1px solid var(--gncs-border);
    font-size:14px;
    color:var(--gncs-text-dim);
  }
  .gncs-scan-status.is-active{display:flex;}
  .gncs-scan-spinner{
    width:18px;
    height:18px;
    border-radius:50%;
    border:2.5px solid rgba(13,90,143,0.2);
    border-top-color:var(--gncs-blue);
    flex-shrink:0;
    animation:gncsSpin .8s linear infinite;
  }
  @keyframes gncsSpin{to{transform:rotate(360deg);}}
  .gncs-scan-error{
    display:none;
    margin-top:22px;
    padding:16px 18px;
    border-radius:14px;
    background:rgba(220,60,60,0.08);
    border:1px solid rgba(220,60,60,0.25);
    color:#a4322c;
    font-size:14px;
  }
  .gncs-scan-error.is-active{display:block;}
  .gncs-scan-results{display:none; margin-top:50px;}
  .gncs-scan-results.is-active{display:block;}
  .gncs-scan-scores{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:16px;
    margin-bottom:36px;
  }
  .gncs-scan-score{
    border-radius:18px;
    border:1px solid var(--gncs-border);
    background:var(--gncs-bg-alt);
    padding:22px 18px;
    text-align:center;
  }
  .gncs-scan-score-num{
    font-family:'Space Grotesk',sans-serif;
    font-size:36px;
    font-weight:700;
    line-height:1;
    margin-bottom:8px;
  }
  .gncs-scan-score-label{font-size:13.5px; color:var(--gncs-text-dim); font-weight:600;}
  .gncs-scan-score.is-good .gncs-scan-score-num{color:#1d9a6c;}
  .gncs-scan-score.is-ok .gncs-scan-score-num{color:#c17b1d;}
  .gncs-scan-score.is-bad .gncs-scan-score-num{color:#c94444;}
  .gncs-scan-issues{
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .gncs-scan-issue{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:16px 18px;
    border-radius:14px;
    border:1px solid var(--gncs-border);
    background:#ffffff;
  }
  .gncs-scan-issue-icon{
    width:26px;
    height:26px;
    border-radius:50%;
    background:rgba(247,132,28,0.12);
    color:var(--gncs-orange);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    margin-top:1px;
  }
  .gncs-scan-issue p{margin:0; font-size:14.5px; color:var(--gncs-text-dim); line-height:1.6;}
  .gncs-scan-all-good{
    padding:20px;
    border-radius:14px;
    background:rgba(29,154,108,0.08);
    border:1px solid rgba(29,154,108,0.25);
    color:#1d9a6c;
    font-weight:600;
    text-align:center;
  }
  @media (max-width:640px){
    .gncs-scan-form{flex-direction:column; align-items:stretch;}
    .gncs-scan-scores{grid-template-columns:1fr 1fr;}
    .gncs-cards{grid-template-columns:1fr !important;}
  }

  /* Dark scan promo banner */
  .gncs-scan-promo{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    background:#0e1015;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:22px;
    padding:30px 34px;
    flex-wrap:wrap;
  }
  .gncs-scan-promo-left{display:flex; align-items:center; gap:18px;}
  .gncs-scan-promo-icon{
    width:52px;
    height:52px;
    border-radius:14px;
    background:#ffffff;
    color:var(--gncs-blue);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }
  .gncs-scan-promo h3{color:#ffffff; margin:0 0 4px; font-size:19px; font-family:'Space Grotesk',sans-serif;}
  .gncs-scan-promo p{color:rgba(255,255,255,0.6); margin:0; font-size:14.5px;}
  .gncs-scan-promo .gncs-btn{flex-shrink:0;}
  @media (max-width:640px){
    .gncs-scan-promo{flex-direction:column; align-items:stretch; text-align:center;}
    .gncs-scan-promo-left{flex-direction:column;}
  }

  .gncs-projects-grid-3{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
  }

  /* Diensten dropdown */
  .gncs-nav-item{
    position:relative;
    display:flex;
    align-items:center;
  }
  .gncs-nav-toggle{
    display:flex !important;
    align-items:center;
    gap:5px;
  }
  .gncs-nav-chevron{
    transition:transform .2s ease;
  }
  .gncs-has-dropdown:hover .gncs-nav-chevron,
  .gncs-has-dropdown:focus-within .gncs-nav-chevron{
    transform:rotate(180deg);
  }
  .gncs-dropdown{
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%) translateY(-10px);
    min-width:250px;
    background:#181b22;
    border:1px solid rgba(247,132,28,0.35);
    border-radius:18px;
    box-shadow:0 0 0 1px rgba(247,132,28,0.08), 0 -18px 40px -22px rgba(247,132,28,0.55), 0 26px 46px -18px rgba(0,0,0,0.55);
    padding:30px 14px 14px;
    display:flex;
    flex-direction:column;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
    z-index:60;
  }
  .gncs-dropdown::before{
    content:"";
    position:absolute;
    top:-1px;
    left:14px;
    right:14px;
    height:2px;
    border-radius:2px;
    background:linear-gradient(90deg, transparent, var(--gncs-orange), transparent);
    filter:blur(0.5px);
  }
  .gncs-has-dropdown:hover .gncs-dropdown,
  .gncs-has-dropdown:focus-within .gncs-dropdown{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0);
  }
  .gncs-dropdown a{
    padding:12px 16px;
    border-radius:10px;
    font-size:14.5px;
    font-weight:500;
    color:#e7e9ee;
    text-decoration:none;
    transition:background .15s ease, color .15s ease, transform .15s ease;
  }
  .gncs-dropdown a:hover{
    background:rgba(247,132,28,0.10);
    color:var(--gncs-orange);
    transform:translateX(2px);
  }
  .gncs-dropdown-divider{
    height:1px;
    background:rgba(255,255,255,0.10);
    margin:8px 10px;
  }

  /* Pricing */
  .gncs-pricing-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
  }
  .gncs-price-card{
    border-radius:18px;
    border:1px solid var(--gncs-border);
    background:#ffffff;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    box-shadow:0 12px 30px -20px rgba(15,23,42,0.18);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .gncs-price-card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 36px -18px rgba(13,90,143,0.25);
  }
  .gncs-price-card-featured{
    border-color:rgba(247,132,28,0.5);
  }
  .gncs-price-head{
    background:linear-gradient(135deg, var(--gncs-blue), var(--gncs-blue-deep));
    color:#ffffff;
    padding:26px 22px;
    text-align:center;
    position:relative;
  }
  .gncs-price-card-featured .gncs-price-head{
    background:linear-gradient(135deg, var(--gncs-orange), #d9631e);
  }
  .gncs-price-ribbon{
    position:absolute;
    top:12px; right:12px;
    font-size:10.5px;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    background:rgba(255,255,255,0.2);
    padding:4px 9px;
    border-radius:999px;
  }
  .gncs-price-head h3{
    margin:0 0 6px;
    font-size:19px;
  }
  .gncs-price-head span{
    font-size:13px;
    opacity:0.85;
  }
  .gncs-price-amount{
    text-align:center;
    padding:26px 22px 6px;
    font-family:'Space Grotesk',sans-serif;
    font-size:32px;
    font-weight:700;
  }
  .gncs-price-amount small{
    font-size:13px;
    font-weight:500;
    color:var(--gncs-text-dim);
    display:block;
    margin-top:4px;
  }
  .gncs-price-features{
    list-style:none;
    margin:0;
    padding:10px 24px 6px;
    flex-grow:1;
  }
  .gncs-price-features li{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 0;
    border-bottom:1px solid var(--gncs-border);
    font-size:14px;
    color:var(--gncs-text-dim);
  }
  .gncs-price-features li:last-child{border-bottom:none;}
  .gncs-price-features li svg{
    flex-shrink:0;
    color:var(--gncs-blue);
  }
  .gncs-price-cta{
    padding:20px 22px 26px;
    text-align:center;
  }
  .gncs-price-note{
    text-align:center;
    color:var(--gncs-text-dim);
    font-size:13.5px;
    margin-top:26px;
  }

  @media (max-width:960px){
    .gncs-steps{grid-template-columns:1fr 1fr;}
    .gncs-projects-grid-3{grid-template-columns:1fr 1fr;}
    .gncs-cta-banner{padding:32px;}
    .gncs-pricing-grid{grid-template-columns:1fr 1fr;}
    .gncs-dropdown{left:0; transform:translateX(0) translateY(-10px);}
    .gncs-has-dropdown:hover .gncs-dropdown,
    .gncs-has-dropdown:focus-within .gncs-dropdown{transform:translateX(0) translateY(0);}
  }

  @media (max-width:640px){
    .gncs-pricing-grid{grid-template-columns:1fr !important;}
    .gncs-price-ribbon{position:static; display:inline-block; margin-bottom:8px;}
    .gncs-price-head{padding-top:18px;}
    .gncs-steps{grid-template-columns:1fr !important;}
    .gncs-projects-grid-3{grid-template-columns:1fr !important;}
  }
