/* ======================================================================
   GOVERNANCY HYBRID — panel-v2 conversion logic + v1 visual richness
   ====================================================================== */
:root {
  --gvh-navy: #02071d;
  --gvh-navy-2: #07102d;
  --gvh-navy-3: #0b1438;
  --gvh-gold: #f6c343;
  --gvh-gold-soft: #f4d269;
  --gvh-line: rgba(255,255,255,.12);
  --gvh-panel: rgba(8,15,43,.82);
}

/* Keep navigation and footer links above decorative layers and clickable. */
.header-area,
.header-area .header-wrapper,
.header-area .menu-area,
.header-area .mainmenu,
.header-area .mainmenu ul,
.header-area .mainmenu li,
.header-area .mainmenu a,
.gv-footer,
.gv-footer a {
  position: relative;
  pointer-events: auto;
}
.header-area { z-index: 1000; }
.header-area .mainmenu a,
.header-area .site_logo a,
.header-area .header-button a,
.gv-footer a { z-index: 2; }

/* Premium dark/glass navigation inspired by v1 without changing panel-v2 IA. */
.header-area.header-2.header-6 {
  background: rgba(2,7,29,.92);
  border-bottom: 1px solid rgba(246,195,67,.12);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}
.header-area.header-2.header-duplicate {
  background: rgba(2,7,29,.96);
  border-bottom: 1px solid rgba(246,195,67,.14);
  box-shadow: 0 14px 40px rgba(0,0,0,.25);
}
.header-area .mainmenu > ul > li > a {
  transition: color .2s ease;
}
.header-area .mainmenu > ul > li > a:hover,
.header-area .mainmenu > ul > li.current-menu-item > a,
.header-area .mainmenu > ul > li.current-menu-ancestor > a {
  color: var(--gvh-gold) !important;
}
.header-area .sub-menu {
  border: 1px solid rgba(246,195,67,.16) !important;
  background: rgba(4,9,31,.98) !important;
  box-shadow: 0 20px 55px rgba(0,0,0,.36) !important;
}
.header-area .sub-menu a { color: rgba(255,255,255,.82) !important; }
.header-area .sub-menu a:hover { color: var(--gvh-gold) !important; }

/* V1-inspired hero image and glow, while retaining panel-v2 content structure. */
.gvp-hero {
  isolation: isolate;
  background-image:
    linear-gradient(105deg, rgba(2,7,29,.98) 0%, rgba(2,7,29,.90) 52%, rgba(10,14,45,.75) 100%),
    url('../images/hero/h6-hero-bg.webp');
  background-size: cover;
  background-position: center;
}
.gvp-hero::before {
  z-index: -1;
  opacity: .46;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 58px 58px;
}
.gvp-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 83% 16%, rgba(246,195,67,.16), transparent 30%),
    radial-gradient(circle at 13% 78%, rgba(73,96,218,.15), transparent 34%);
}
.gvp-hero h1 > .gvh-gold-title { color: var(--gvh-gold); }
.gvp-eyebrow,
.gvp-kicker {
  position: relative;
  padding-left: 20px;
}
.gvp-eyebrow::before,
.gvp-kicker::before {
  content: '';
  position: absolute;
  left: 0;
  top: .35em;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  background: var(--gvh-gold);
  transform: rotate(45deg);
  box-shadow: 0 0 18px rgba(246,195,67,.38);
}
.gvp-hero-panel {
  border-color: rgba(246,195,67,.22);
  background:
    radial-gradient(circle at 100% 0, rgba(246,195,67,.14), transparent 35%),
    linear-gradient(145deg, rgba(15,24,59,.88), rgba(4,9,30,.78));
  box-shadow: 0 30px 85px rgba(0,0,0,.34);
}

/* Trust strip: still light and legible, with a small branded accent. */
.gvp-trust-strip { border-top: 3px solid var(--gvh-gold); }
.gvp-trust-strip > div { position: relative; }
.gvp-trust-strip > div::before {
  content: '';
  display: block;
  width: 34px;
  height: 3px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg,var(--gvh-gold),transparent);
}

/* Instaptrajecten gebruiken de oorspronkelijke conversiegerichte kaartstijl.
   De badge mag boven de kaart uitsteken en blijft volledig zichtbaar. */
.gvp-card-link,
.gvp-center-link a,
.gvp-inline-link { color: #3348bd; }

/* One deliberately dark card moment, borrowed from v1. */
.gvp-card-grid--four .gvp-value-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 100% 0, rgba(246,195,67,.10), transparent 34%),
    linear-gradient(145deg,#09112f,#050a22);
  box-shadow: 0 20px 55px rgba(2,7,29,.18);
}
.gvp-card-grid--four .gvp-value-card > span { color: var(--gvh-gold); }
.gvp-card-grid--four .gvp-value-card h3 { color: #fff; }
.gvp-card-grid--four .gvp-value-card p { color: rgba(238,242,255,.68); }
.gvp-card-grid--four .gvp-value-card::after {
  content: '';
  position: absolute;
  width: 90px;
  height: 90px;
  right: -44px;
  top: -44px;
  border-radius: 50%;
  border: 1px solid rgba(246,195,67,.24);
}

/* Services use v1's dark premium cards, but panel-v2's simpler hierarchy. */
.gvp-service-grid a {
  position: relative;
  overflow: hidden;
  border-color: rgba(255,255,255,.10);
  background: linear-gradient(145deg,#0a1232,#050a22);
  box-shadow: 0 18px 50px rgba(2,7,29,.17);
}
.gvp-service-grid a:hover {
  border-color: rgba(246,195,67,.42);
  box-shadow: 0 24px 65px rgba(2,7,29,.24), 0 0 24px rgba(246,195,67,.08);
}
.gvp-service-grid span { color: var(--gvh-gold); }
.gvp-service-grid h3 { color: #fff; }
.gvp-service-grid p { color: rgba(238,242,255,.66); }

.gvp-proof-panel {
  border-color: rgba(246,195,67,.24);
  background: linear-gradient(145deg,#0a1232,#050a22);
  box-shadow: 0 22px 60px rgba(2,7,29,.20);
}
.gvp-proof-panel > div { background: rgba(255,255,255,.045); }
.gvp-proof-panel strong { color: #fff; }
.gvp-proof-panel span { color: rgba(238,242,255,.66); }

.gvp-section--dark,
.gvp-final-cta,
.gvp-inline-offer {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 0, rgba(246,195,67,.13), transparent 30%),
    linear-gradient(135deg,var(--gvh-navy),var(--gvh-navy-3));
}
.gvp-final-cta { border-top-color: rgba(246,195,67,.34); }

/* Inner page content stays clean; add restrained premium accents. */
.gvp-deliverables article,
.gvp-fit-card,
.gvp-report,
.gvp-form-shell,
.gvp-faq details,
.gvp-decision-table,
.gvp-contact-choice {
  box-shadow: 0 15px 44px rgba(4,11,42,.055);
}
.gvp-deliverables article { border-top: 3px solid rgba(246,195,67,.72); }
.gvp-founder-card {
  border-color: rgba(246,195,67,.44);
  background: linear-gradient(145deg,#fffdf5,#fff);
}

/* Keep desktop and mobile buttons stable: no sticky hover artifacts. */
@media (hover: none), (pointer: coarse) {
  .gvp-page .tj-primary-btn .btn-inner::before { display: none !important; }
  .gvp-page .tj-primary-btn .btn-icon.h-icon { display: none !important; }
  .gvp-page .tj-primary-btn .btn-text,
  .gvp-page .tj-primary-btn .btn-icon { transform: none !important; }
  .gvp-page .tj-primary-btn .btn-inner {
    width: 100%;
    justify-content: space-between;
  }
}

@media (max-width: 767px) {
  .header-area.header-2 { background: rgba(2,7,29,.96); }
  .gvp-hero { padding-top: 118px; }
  .gvp-hero h1,
  .gvp-hero--inner h1,
  .gvp-hero--offer h1,
  .gvp-hero--contact h1 {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
  .gvp-eyebrow,
  .gvp-kicker { padding-left: 17px; }
  .gvp-card-grid--four .gvp-value-card,
  .gvp-service-grid a { min-height: 0; }
  .gvp-actions .tj-primary-btn,
  .gvp-actions .gvp-link-btn { max-width: 360px; }
  .gvp-actions .tj-primary-btn { margin-inline: auto; }
  .gvp-actions .gvp-link-btn { margin-inline: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .gvp-offer-card,
  .gvp-service-grid a,
  .gvp-link-btn { transition: none !important; }
}

/* Alle kleine gouden bovenkoppen gelijk aan ISO 27001 */
.gvp-eyebrow,
.gvp-kicker,
.gv-kicker,
.gv-iso-eyebrow,
.gv-nis2-eyebrow,
.gv-ai-eyebrow,
.gv-awareness-eyebrow,
.gv-pentest-eyebrow,
.gv-contact-eyebrow,
.gv-privacy-eyebrow,
.gv-terms-eyebrow,
.gv-404-eyebrow {
  font-size: 14px !important;
}

/* ========================================================================
   v3.3 — sitebrede afstemming op de homepage
   ======================================================================== */

/* Alle hero-H1's gebruiken dezelfde schaal als de ISO 27001-pagina. */
@media (min-width: 992px) {
  .gvp-hero h1,
  .gv-iso-hero h1,
  .gv-nis2-hero h1,
  .gv-ai-hero h1,
  .gv-awareness-hero h1,
  .gv-pentest-hero h1,
  .gv-knowledge-hero h1,
  .gv-contact-hero h1,
  .gv-privacy-hero h1,
  .gv-terms-hero h1,
  .gv-404-hero h1 {
    font-size: clamp(48px, 5.2vw, 76px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
  }
}

/* Kleine gouden bovenkoppen: één vaste homepage-hiërarchie. */
.gvp-eyebrow,
.gvp-kicker,
.gv-kicker,
.gv-iso-eyebrow,
.gv-nis2-eyebrow,
.gv-ai-eyebrow,
.gv-awareness-eyebrow,
.gv-pentest-eyebrow,
.gv-contact-eyebrow,
.gv-privacy-eyebrow,
.gv-terms-eyebrow,
.gv-404-eyebrow,
.sec-heading .sub-title {
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

/* Dezelfde comfortabele eind-CTA-hoogte op alle panelpagina's. */
.gvp-final-cta {
  padding-top: 110px;
  padding-bottom: 110px;
}

@media (max-width: 767px) {
  .gvp-final-cta {
    padding-top: 75px;
    padding-bottom: 75px;
  }
}

/* ========================================================================
   Uitgebreide fictieve voorbeeldrapportage
   ======================================================================== */

.gvp-report-disclaimer {
  max-width: 1080px;
  margin: 0 auto 34px;
  padding: 22px 26px;
  border: 1px solid rgba(230,185,52,.42);
  border-radius: 18px;
  background: #fffaf0;
}

.gvp-report-disclaimer strong {
  display: block;
  margin-bottom: 7px;
  color: #604900;
  font-size: 15px;
}

.gvp-report-disclaimer p {
  margin: 0;
  color: #4a5268;
  line-height: 1.7;
}

.gvp-report--deep {
  max-width: 1180px;
  margin-inline: auto;
}

.gvp-report-meta-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin-top: 28px;
}

.gvp-report-meta-grid > div {
  padding: 17px;
  border: 1px solid var(--gvp-line);
  border-radius: 14px;
  background: #fff;
}

.gvp-report-meta-grid span {
  display: block;
  margin-bottom: 6px;
  color: var(--gvp-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.gvp-report-meta-grid strong {
  color: var(--gvp-ink);
  font-size: 15px;
  line-height: 1.4;
}

.gvp-report-verdict {
  display: grid;
  grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr);
  gap: 28px;
  align-items: center;
  margin-top: 24px;
  padding: 24px;
  border: 1px solid rgba(230,185,52,.4);
  border-radius: 16px;
  background: #fffaf0;
}

.gvp-report-verdict span {
  display: block;
  color: #756000;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.gvp-report-verdict strong {
  display: block;
  margin-top: 7px;
  color: var(--gvp-ink);
  font-size: 20px;
  line-height: 1.35;
}

.gvp-report-verdict p {
  margin: 0;
  color: var(--gvp-copy);
  line-height: 1.7;
}

.gvp-report-two-col {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 22px;
}

.gvp-report-panel {
  padding: 28px;
  border: 1px solid var(--gvp-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 15px 44px rgba(4,11,42,.055);
}

.gvp-report-panel h3 {
  margin: 0 0 18px;
  color: var(--gvp-ink);
  font-size: 25px;
}

.gvp-report-limit {
  margin-top: 22px;
  padding: 21px 24px;
  border-left: 4px solid var(--gvp-gold);
  border-radius: 0 14px 14px 0;
  background: rgba(255,255,255,.74);
}

.gvp-report-limit strong {
  display: block;
  margin-bottom: 6px;
  color: var(--gvp-ink);
}

.gvp-report-limit p {
  margin: 0;
  color: var(--gvp-copy);
  line-height: 1.65;
}

.gvp-report-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--gvp-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 15px 44px rgba(4,11,42,.055);
}

.gvp-report-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
}

.gvp-report-table th,
.gvp-report-table td {
  padding: 18px 20px;
  border-bottom: 1px solid var(--gvp-line);
  text-align: left;
  vertical-align: top;
}

.gvp-report-table th {
  color: var(--gvp-ink);
  background: #f6f7fc;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.gvp-report-table td {
  color: var(--gvp-copy);
  font-size: 14px;
  line-height: 1.55;
}

.gvp-report-table tbody tr:last-child td {
  border-bottom: 0;
}

.gvp-score,
.gvp-priority {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 900;
}

.gvp-score--low,
.gvp-priority--high {
  color: #8d2626;
  background: #fff0f0;
}

.gvp-score--mid,
.gvp-priority--mid {
  color: #725500;
  background: #fff7d8;
}

.gvp-decision-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 15px;
}

.gvp-decision-grid article {
  padding: 24px 20px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: rgba(255,255,255,.055);
}

.gvp-decision-grid article > span {
  display: inline-flex;
  margin-bottom: 17px;
  color: var(--gvp-gold-2);
  font-weight: 900;
}

.gvp-decision-grid h3 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 20px;
  line-height: 1.3;
}

.gvp-decision-grid p {
  margin: 0 0 17px;
  color: rgba(239,242,255,.7);
  font-size: 14px;
  line-height: 1.6;
}

.gvp-decision-grid strong {
  color: var(--gvp-gold-2);
  font-size: 12px;
}

.gvp-finding-list {
  display: grid;
  gap: 18px;
}

.gvp-finding {
  display: grid;
  grid-template-columns: 110px minmax(0,1fr);
  gap: 26px;
  padding: 28px;
  border: 1px solid var(--gvp-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 15px 44px rgba(4,11,42,.055);
}

.gvp-finding-id {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.gvp-finding-id > span {
  color: var(--gvp-ink);
  font-size: 27px;
  font-weight: 900;
}

.gvp-finding h3 {
  margin: 0 0 14px;
  color: var(--gvp-ink);
  font-size: 25px;
}

.gvp-finding p {
  margin: 0 0 10px;
  color: var(--gvp-copy);
  line-height: 1.65;
}

.gvp-finding-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 17px;
  padding-top: 15px;
  border-top: 1px solid var(--gvp-line);
  color: #4c5670;
  font-size: 13px;
}

.gvp-roadmap--deep {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.gvp-roadmap--deep > div {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.gvp-roadmap--deep h3 {
  margin: 12px 0;
  color: var(--gvp-ink);
  font-size: 23px;
}

.gvp-roadmap--deep ul {
  margin: 0 0 20px;
  padding-left: 20px;
  color: var(--gvp-copy);
}

.gvp-roadmap--deep li {
  margin-bottom: 8px;
  line-height: 1.55;
}

.gvp-roadmap--deep strong {
  display: block;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--gvp-line);
  color: #293a9d;
  font-size: 13px;
  line-height: 1.45;
}

.gvp-report-conclusion {
  margin-top: 38px;
  padding: clamp(30px,5vw,52px);
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 5%,rgba(246,195,67,.14),transparent 32%),
    linear-gradient(135deg,#09112f,#050a22);
}

.gvp-report-conclusion h2 {
  max-width: 900px;
  margin: 8px 0 16px;
  color: #fff;
  font-size: clamp(31px,3.8vw,50px);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.gvp-report-conclusion p {
  max-width: 940px;
  margin: 0;
  color: rgba(239,242,255,.74);
  line-height: 1.75;
}

@media (max-width: 1199px) {
  .gvp-decision-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 991px) {
  .gvp-report-meta-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .gvp-report-verdict,
  .gvp-report-two-col,
  .gvp-roadmap--deep {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .gvp-report-meta-grid,
  .gvp-decision-grid {
    grid-template-columns: 1fr;
  }

  .gvp-finding {
    grid-template-columns: 1fr;
    padding: 23px;
  }
}
