/*
 * Huisstijl van de publieke landingspagina (apps/site): fris en licht, met blauw en turquoise
 * als accent. Kleuren en lettertypes van de site staan alleen hier.
 */
:root {
  --navy: #072d51;
  --navy2: #123f71;
  --blue: #0877c9;
  --blue-dark: #0a63a8;
  --cyan: #0dc4df;
  --teal: #12b89a;
  --green: #1eb980;
  --ink: #143b58;
  --heading: #0b2f50;
  --muted: #56748b;
  --line: #dceaf3;
  --soft: #f3f8fc;
  --tint: #eaf6fb;
  --page: #fbfdff;
  --white: #fff;
  /* Verloop onder witte tekst (knoppen, badges): ≥ 4.5:1 (WCAG AA) op elk punt. */
  --accent: linear-gradient(135deg, #0877cf, #088092);
  --shadow: 0 18px 52px rgba(17, 72, 108, 0.09);
  --shadow-soft: 0 8px 24px rgba(17, 72, 108, 0.06);
  --focus: #0b9fc0;
}
* {
  box-sizing: border-box;
}
img,
svg,
video,
canvas {
  max-width: 100%;
  height: auto;
}
input,
select,
textarea,
button {
  max-width: 100%;
  min-width: 0;
  font: inherit;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}
body {
  margin: 0;
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    Segoe UI,
    sans-serif;
  color: var(--ink);
  background: var(--page);
  line-height: 1.55;
  overflow-x: hidden;
}
body.rc360-modal-open {
  overflow: hidden;
}
a {
  text-decoration: none;
  color: inherit;
}
:is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}
h1,
h2,
h3 {
  color: var(--heading);
  line-height: 1.15;
}
.rc360-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.rc360-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.rc360-skip {
  position: absolute;
  left: 16px;
  top: -60px;
  z-index: 100;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--navy);
  color: var(--white);
  font-weight: 800;
}
.rc360-skip:focus {
  top: 12px;
}

/* Knoppen */
.rc360-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 12px 20px;
  background: var(--accent);
  color: var(--white);
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  box-shadow: 0 9px 24px rgba(8, 119, 207, 0.18);
  cursor: pointer;
  transition: 0.18s ease;
}
.rc360-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 27px rgba(8, 119, 207, 0.24);
}
.rc360-btn.alt {
  background: var(--white);
  color: var(--blue-dark);
  border-color: #cfe3ef;
  box-shadow: none;
}
.rc360-btn.light {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 9px 24px rgba(3, 25, 46, 0.25);
}
.rc360-btn.outline {
  background: transparent;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.7);
  box-shadow: none;
}

/* Kop met menu */
.rc360-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(220, 234, 243, 0.9);
}
.rc360-navin {
  position: relative;
  max-width: 1200px;
  margin: auto;
  min-height: 72px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.rc360-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.rc360-logo img {
  height: 42px;
  max-width: 220px;
  object-fit: contain;
}
.rc360-logo b {
  font-size: 22px;
  letter-spacing: -0.01em;
  color: var(--heading);
}
.rc360-logo b span {
  color: var(--blue);
}
.rc360-logo-mark {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: var(--accent);
  box-shadow: inset 0 0 0 7px rgba(255, 255, 255, 0.28);
}
.rc360-links {
  display: flex;
  align-items: center;
  gap: 26px;
  color: #3f6078;
  font-weight: 700;
  font-size: 15px;
  white-space: nowrap;
}
.rc360-links > a:not(.rc360-btn):hover {
  color: var(--blue);
}
.rc360-menu-cta {
  display: none !important;
}
.rc360-cta {
  display: flex;
  align-items: center;
  gap: 10px;
}
.rc360-cta .rc360-btn {
  white-space: nowrap;
}
.rc360-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
  color: var(--heading);
  cursor: pointer;
  place-items: center;
}
.rc360-menu-icon,
.rc360-menu-icon::before,
.rc360-menu-icon::after {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: 0.18s ease;
}
.rc360-menu-icon {
  position: relative;
}
.rc360-menu-icon::before,
.rc360-menu-icon::after {
  content: '';
  position: absolute;
  left: 0;
}
.rc360-menu-icon::before {
  top: -6px;
}
.rc360-menu-icon::after {
  top: 6px;
}
.rc360-menu-open .rc360-menu-icon {
  background: transparent;
}
.rc360-menu-open .rc360-menu-icon::before {
  top: 0;
  transform: rotate(45deg);
}
.rc360-menu-open .rc360-menu-icon::after {
  top: 0;
  transform: rotate(-45deg);
}

/* Algemeen: kicker, kop en intro van een sectie */
.rc360-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.rc360-section {
  padding: 96px 0;
}
.rc360-band {
  background: linear-gradient(180deg, #f3f9fd 0%, #f7fbfe 100%);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.rc360-head {
  max-width: 780px;
  margin-bottom: 44px;
}
.rc360-head h2,
.rc360-platform-copy h2,
.rc360-contact-copy h2 {
  margin: 10px 0 14px;
  font-size: clamp(28px, 3.4vw, 42px);
  letter-spacing: -0.02em;
}
.rc360-head p,
.rc360-platform-copy > p,
.rc360-contact-copy > p {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}
.rc360-ticks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
  color: var(--heading);
  font-weight: 700;
}
.rc360-ticks li,
.rc360-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.rc360-ticks li::before,
.rc360-checklist li::before {
  content: '✓';
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  border-radius: 50%;
  background: #dff6f1;
  color: #0b7f69;
  font-size: 12px;
  font-weight: 900;
}
.rc360-checklist {
  display: grid;
  gap: 12px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
  color: var(--ink);
  font-weight: 600;
}
.rc360-ico {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, #e3f2fc, #dcf7f9);
  color: var(--blue);
}
.rc360-ico svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Hero */
.rc360-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 15%, rgba(13, 196, 223, 0.18), transparent 34%),
    radial-gradient(circle at 10% 90%, rgba(8, 119, 207, 0.08), transparent 30%),
    linear-gradient(135deg, #f8fcff 0%, #eef8fd 55%, #f2fbf9 100%);
  border-bottom: 1px solid var(--line);
}
.rc360-heroin {
  padding-top: 84px;
  padding-bottom: 88px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 48px;
  align-items: center;
}
.rc360-hero h1 {
  margin: 16px 0 20px;
  font-size: clamp(34px, 3.8vw, 50px);
  letter-spacing: -0.035em;
  line-height: 1.04;
}
.rc360-accent {
  display: block;
  color: var(--blue);
}
.rc360-lead {
  margin: 0;
  max-width: 600px;
  color: #45667d;
  font-size: 19px;
  line-height: 1.65;
}
.rc360-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}
.rc360-hero-actions .rc360-btn {
  min-height: 50px;
  padding: 13px 24px;
}

/* Echt scherm uit de app (fictieve gegevens) in een laptopframe */
.rc360-laptop {
  margin: 0;
  min-width: 0;
}
.rc360-laptop-screen {
  border: 10px solid #10243b;
  border-bottom-width: 14px;
  border-radius: 18px 18px 6px 6px;
  background: var(--white);
  box-shadow: 0 30px 70px rgba(7, 45, 81, 0.22);
  overflow: hidden;
}
.rc360-laptop-screen img,
.rc360-shot img {
  display: block;
  width: 100%;
  height: auto;
}
/* Brede schermen: de laptop loopt door in de rechtermarge, zodat het scherm groter en leesbaarder is. */
@media (min-width: 1300px) {
  .rc360-laptop {
    margin-right: -110px;
  }
}
.rc360-laptop-base {
  height: 14px;
  margin: 0 -5%;
  border-radius: 0 0 16px 16px;
  background: linear-gradient(180deg, #d5e1ea, #aebfcc);
  box-shadow: 0 14px 24px rgba(7, 45, 81, 0.12);
}
.rc360-laptop figcaption,
.rc360-shot figcaption {
  margin-top: 18px;
  color: var(--muted);
  font-size: 13px;
  text-align: center;
}

/* Echte schermen bij een sectie: één rustig beeld in een licht kader */
.rc360-shot {
  max-width: 1040px;
  margin: 56px auto 0;
  min-width: 0;
}
.rc360-shot img {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
  box-shadow: var(--shadow);
}
.rc360-shot-side {
  margin: 0;
}
/* Klik op een beeld: het scherm op ware grootte (gewone link naar het grote bestand). */
.rc360-zoom {
  display: block;
  border-radius: 16px;
  cursor: zoom-in;
}
.rc360-laptop .rc360-zoom {
  border-radius: 0;
}
/* Twee beelden naast elkaar (bord en tijdlijn); op smallere schermen onder elkaar. */
.rc360-shot-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-top: 56px;
}
.rc360-shot-pair .rc360-shot {
  max-width: none;
  margin: 0;
}
@media (max-width: 800px) {
  .rc360-shot-pair {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}

/* Kaarten (toepassingen en samenhang), gelijk uitgelijnd */
.rc360-cards {
  display: grid;
  gap: 20px;
}
.rc360-cards-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.rc360-cards-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.rc360-usecase,
.rc360-feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--white);
  box-shadow: var(--shadow-soft);
  transition: 0.18s ease;
}
.rc360-usecase:hover,
.rc360-feature:hover {
  border-color: #b9dcee;
  box-shadow: var(--shadow);
}
.rc360-usecase h3,
.rc360-feature h3 {
  margin: 18px 0 8px;
  font-size: 19px;
}
.rc360-usecase p,
.rc360-feature p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}
.rc360-feature {
  padding: 22px;
}
.rc360-feature h3 {
  font-size: 17px;
}
.rc360-feature p {
  font-size: 15px;
}
.rc360-arrow {
  margin-top: auto;
  padding-top: 18px;
  color: var(--blue);
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

/* Werkwijze: tijdlijn */
.rc360-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
.rc360-timeline::before {
  content: '';
  position: absolute;
  top: 21px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg, var(--blue), var(--cyan), var(--teal));
}
.rc360-timeline li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 0;
}
.rc360-step-no {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 3px solid var(--white);
  border-radius: 50%;
  background: var(--accent);
  color: var(--white);
  font-weight: 900;
  box-shadow: 0 6px 16px rgba(8, 119, 207, 0.25);
}
.rc360-timeline h3 {
  margin: 14px 0 6px;
  font-size: 16px;
}
.rc360-timeline p {
  margin: 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.5;
}

/* Platform: tekst en een scherm uit de app */
.rc360-platform {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 56px;
  align-items: center;
}

/* Sectoren */
.rc360-sectors {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rc360-sectors li {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
  color: var(--heading);
  font-weight: 800;
  box-shadow: var(--shadow-soft);
}
.rc360-sectors .rc360-ico {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 12px;
}

/* Veiligheid: compacte tegels */
.rc360-security-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.rc360-security-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 18px 18px 18px 58px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
}
.rc360-security-card::before {
  content: '✓';
  position: absolute;
  left: 18px;
  top: 18px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  background: var(--accent);
  color: var(--white);
  font-size: 14px;
  font-weight: 900;
}
.rc360-security-card b {
  color: var(--heading);
  font-size: 16px;
}
.rc360-security-card span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

/* Afsluitende band met knoppen */
.rc360-ctaband {
  background:
    radial-gradient(circle at 90% 10%, rgba(13, 196, 223, 0.35), transparent 40%),
    linear-gradient(120deg, #072d51 0%, #0a4f86 55%, #0877c9 100%);
  color: var(--white);
}
.rc360-ctaband-in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding-top: 64px;
  padding-bottom: 64px;
}
.rc360-ctaband h2 {
  margin: 0;
  max-width: 640px;
  color: var(--white);
  font-size: clamp(26px, 3vw, 36px);
  letter-spacing: -0.02em;
}
.rc360-ctaband .rc360-ticks {
  color: #e3f3fb;
}
.rc360-ctaband .rc360-ticks li::before {
  background: rgba(255, 255, 255, 0.16);
  color: var(--white);
}
.rc360-ctaband-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  flex-shrink: 0;
}
.rc360-ctaband-actions .rc360-btn {
  min-height: 50px;
  padding: 13px 24px;
}

/* Contact */
.rc360-contact {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 56px;
  align-items: start;
}
.rc360-contact-card {
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--white);
  box-shadow: var(--shadow);
}
.rc360-contact-card [hidden] {
  display: none !important;
}
.rc360-contact-form .rc360-fields label {
  gap: 6px;
}
.rc360-optional {
  color: var(--muted);
  font-weight: 600;
}
.rc360-contact-turnstile {
  margin-top: 16px;
}
.rc360-contact-note {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 13px;
}
.rc360-contact-form > .rc360-btn {
  width: 100%;
  min-height: 50px;
  margin-top: 18px;
}
.rc360-contact-done {
  text-align: center;
  padding: 18px 6px;
}
.rc360-contact-done:focus {
  outline: none;
}
.rc360-contact-done h3 {
  margin: 0 0 8px;
  font-size: 22px;
}
.rc360-contact-done p {
  margin: 0 auto;
  max-width: 440px;
  color: var(--muted);
}

/* Voettekst */
.rc360-footer {
  background: #061f38;
  color: #b9cde0;
  font-size: 14px;
}
.rc360-footer-in {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px;
  padding-top: 56px;
  padding-bottom: 36px;
}
.rc360-footer .rc360-logo b {
  color: var(--white);
}
.rc360-footer .rc360-logo b span {
  color: var(--cyan);
}
.rc360-footer-brand p {
  margin: 14px 0 0;
}
.rc360-footer-links {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 10px 32px;
  align-content: start;
}
.rc360-footer-links a {
  color: #dbe8f3;
  font-weight: 600;
}
.rc360-footer-links a:hover {
  color: var(--white);
}
.rc360-footer-company {
  display: grid;
  gap: 4px;
  font-style: normal;
  line-height: 1.6;
}
.rc360-footer-company[hidden] {
  display: none;
}
.rc360-footer-company strong {
  color: var(--white);
}
.rc360-footer-company a {
  color: #dbe8f3;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.rc360-footer-bottom {
  padding-top: 18px;
  padding-bottom: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.rc360-footer-bottom p {
  margin: 0;
  color: #9fb6cb;
  font-size: 13px;
}
/* Cookieverklaring en cookie-instellingen onder in de voettekst. */
.rc360-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  align-items: center;
  justify-content: space-between;
}
.rc360-footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
}
.rc360-footer-legal a,
.rc360-footer-button {
  padding: 0;
  border: 0;
  background: none;
  color: #dbe8f3;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.rc360-footer-legal a:hover,
.rc360-footer-button:hover {
  color: var(--white);
}

/* Cookiemelding: een kaart linksonder die de pagina niet blokkeert. Twee even grote knoppen. */
.rc360-cookiebar {
  position: fixed;
  z-index: 90;
  left: 20px;
  bottom: 20px;
  width: min(480px, calc(100% - 40px));
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--white);
  box-shadow: 0 24px 64px rgba(4, 29, 52, 0.22);
  color: var(--ink);
  font-size: 14px;
}
.rc360-cookiebar[hidden],
.rc360-cookiebar [hidden] {
  display: none;
}
.rc360-cookiebar:focus {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}
.rc360-cookiebar h2 {
  margin: 0 0 6px;
  font-size: 18px;
}
.rc360-cookiebar p {
  margin: 0 0 14px;
  line-height: 1.5;
}
.rc360-cookiebar-link {
  color: var(--blue-dark);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.rc360-cookiebar-current {
  font-weight: 700;
  color: var(--heading);
}
.rc360-cookiebar-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.rc360-cookiebar-actions .rc360-btn {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
}
.rc360-cookiebar .rc360-btn:hover {
  transform: none;
}
.rc360-cookiebar-gpc .rc360-btn {
  min-height: 44px;
}
/* Cookieverklaring als pop-up: leesbare tekst met kopjes. */
.rc360-cookie-text {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.6;
}
.rc360-modal .rc360-cookie-text h3 {
  margin: 20px 0 6px;
  font-size: 17px;
  color: var(--navy);
}
.rc360-modal .rc360-cookie-text p {
  margin: 0 0 10px;
  color: var(--ink);
}
/* Tekst uit het Control Center: een enkele nieuwe regel blijft een nieuwe regel. */
.rc360-modal .rc360-cookie-text .rc360-cookie-cc {
  white-space: pre-line;
}
.rc360-cookie-text ul {
  margin: 0 0 10px;
  padding-left: 20px;
}
.rc360-cookie-text li {
  margin-bottom: 6px;
}
.rc360-cookie-text a {
  color: var(--blue-dark);
  text-decoration: underline;
}
/* Disclaimer (pop-up en /disclaimer/): rustige opmaak met koppen, opsomming en een beperkte
   regelbreedte. De sluitknop is een link (werkt ook zonder script). */
.rc360-legal-text {
  max-width: 68ch;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.65;
}
.rc360-modal .rc360-legal-text h3 {
  margin: 22px 0 6px;
  font-size: 17px;
  color: var(--navy);
}
.rc360-modal .rc360-legal-text p {
  margin: 0 0 12px;
  color: var(--ink);
}
.rc360-legal-text ul {
  margin: 0 0 12px;
  padding-left: 22px;
}
.rc360-legal-text li {
  margin-bottom: 6px;
}
.rc360-legal-text hr {
  margin: 22px 0 14px;
  border: 0;
  border-top: 1px solid var(--line);
}
.rc360-modal .rc360-legal-text hr + p {
  color: var(--muted);
  font-size: 14px;
}
a.rc360-dialog-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
a.rc360-btn {
  text-decoration: none;
}
@media (max-width: 600px) {
  .rc360-cookiebar {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    max-height: 70vh;
    padding: 16px;
  }
}
@media (max-width: 380px) {
  .rc360-cookiebar-actions {
    grid-template-columns: 1fr;
  }
}

/* Eenvoudige voettekst (foutpagina). */
.rc360-footer-simple {
  padding: 26px 24px;
  text-align: center;
}

/* Responsief: tablet */
@media (max-width: 1100px) {
  .rc360-timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 32px;
  }
  .rc360-timeline::before {
    display: none;
  }
  .rc360-cards-4,
  .rc360-sectors {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 980px) {
  .rc360-links {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px 16px 18px;
    border-bottom: 1px solid var(--line);
    background: var(--white);
    box-shadow: 0 18px 30px rgba(7, 45, 81, 0.1);
    font-size: 16px;
  }
  .rc360-links > a:not(.rc360-btn) {
    padding: 13px 4px;
    border-bottom: 1px solid var(--soft);
  }
  .rc360-menu-open .rc360-links {
    display: flex;
  }
  .rc360-menu-toggle {
    display: grid;
  }
  .rc360-heroin,
  .rc360-platform,
  .rc360-contact {
    grid-template-columns: minmax(0, 1fr);
    gap: 44px;
  }
  .rc360-cards-3,
  .rc360-security-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rc360-ctaband-in {
    flex-direction: column;
    align-items: flex-start;
  }
  .rc360-footer-in {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .rc360-footer-brand {
    grid-column: 1 / -1;
  }
}

/* Responsief: telefoon (tot 360 px zonder horizontale scroll) */
@media (max-width: 640px) {
  .rc360-wrap,
  .rc360-navin {
    padding-left: 16px;
    padding-right: 16px;
  }
  .rc360-navin {
    min-height: 64px;
    gap: 10px;
  }
  .rc360-logo b {
    font-size: 19px;
  }
  .rc360-logo-mark {
    width: 26px;
    height: 26px;
  }
  .rc360-section {
    padding: 64px 0;
  }
  .rc360-head {
    margin-bottom: 32px;
  }
  .rc360-head p,
  .rc360-platform-copy > p,
  .rc360-contact-copy > p,
  .rc360-lead {
    font-size: 16.5px;
  }
  .rc360-heroin {
    padding-top: 48px;
    padding-bottom: 56px;
  }
  .rc360-laptop-screen {
    border-width: 6px 6px 9px;
    border-radius: 12px 12px 4px 4px;
  }
  .rc360-shot,
  .rc360-shot-pair {
    margin-top: 36px;
  }
  .rc360-shot-pair .rc360-shot {
    margin-top: 0;
  }
  .rc360-shot img {
    border-radius: 10px;
  }
  .rc360-hero-actions .rc360-btn,
  .rc360-ctaband-actions,
  .rc360-ctaband-actions .rc360-btn {
    width: 100%;
  }
  .rc360-cards-3,
  .rc360-cards-4,
  .rc360-security-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .rc360-sectors {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  .rc360-timeline {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
  }
  .rc360-timeline li {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: 14px;
    align-items: start;
    text-align: left;
    padding-bottom: 18px;
  }
  .rc360-timeline li::before {
    content: '';
    position: absolute;
    left: 21px;
    top: 44px;
    bottom: 0;
    width: 2px;
    background: #cde6f2;
  }
  .rc360-timeline li:last-child::before {
    display: none;
  }
  .rc360-step-no {
    grid-row: span 2;
  }
  .rc360-timeline h3 {
    margin: 10px 0 2px;
  }
  .rc360-contact-card {
    padding: 20px;
  }
  .rc360-footer-in {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 420px) {
  .rc360-navin {
    gap: 8px;
  }
  .rc360-navin .rc360-logo-mark {
    display: none;
  }
  .rc360-logo b {
    font-size: 18px;
  }
  .rc360-cta {
    gap: 8px;
  }
  .rc360-cta .rc360-btn {
    padding: 8px 10px;
    font-size: 13px;
    box-shadow: none;
  }
}
/* Heel smal: de knop staat dan in het menu. */
@media (max-width: 339px) {
  .rc360-cta > .rc360-start {
    display: none;
  }
  .rc360-menu-cta {
    display: inline-flex !important;
    margin-top: 14px;
  }
}

/* Offerte- en pilotaanvraag (pop-up), uit Commercial 0.5.15. */
.rc360-request-shell {
  margin-top: 28px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(17, 72, 108, 0.08);
  overflow: hidden;
}
.rc360-request-top {
  padding: 24px;
  background: linear-gradient(135deg, #0c345b, #0a73b6);
  color: #fff;
}
.rc360-request-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.rc360-choice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 18px;
}
.rc360-kind {
  position: relative;
  text-align: left;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.07);
  color: #fff;
  border-radius: 16px;
  padding: 16px 17px;
  cursor: pointer;
  min-height: 92px;
  transition: 0.18s ease;
}
.rc360-kind strong {
  display: block;
  font-size: 17px;
  margin-bottom: 4px;
}
.rc360-kind small {
  display: block;
  color: #cce1f0;
  line-height: 1.45;
}
.rc360-kind.active {
  background: #fff;
  color: #0d456f;
  border-color: #fff;
  box-shadow: 0 12px 28px rgba(3, 34, 62, 0.18);
}
.rc360-kind.active small {
  color: #618095;
}
.rc360-kind.active:after {
  content: '✓';
  position: absolute;
  right: 14px;
  top: 14px;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #dff7ed;
  color: #087b59;
  font-weight: 900;
}
.rc360-quiz {
  padding: 28px;
}
.rc360-selected {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #d7e7f0;
  background: #f5faff;
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 24px;
}
.rc360-selected span {
  font-size: 12px;
  color: #6e879a;
}
.rc360-selected b {
  color: #0b659d;
}
.rc360-step {
  display: none;
}
.rc360-step.active {
  display: block;
}
.rc360-step h3 {
  margin: 0 0 6px;
  font-size: 24px;
}
.rc360-step > p {
  margin: 0 0 20px;
  color: var(--muted);
}
.rc360-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.rc360-fields label {
  display: grid;
  gap: 6px;
  font-weight: 750;
  color: #38566d;
}
.rc360-fields label.full {
  grid-column: 1/-1;
}
.rc360-fields input,
.rc360-fields select,
.rc360-fields textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid #ccdce7;
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
  color: #183b55;
  background: #fff;
}
.rc360-fields textarea {
  min-height: 110px;
  resize: vertical;
}
.rc360-checks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.rc360-integration {
  position: relative;
  border: 1px solid #d8e5ee;
  border-radius: 15px;
  padding: 15px;
  background: #f9fcfe;
  min-height: 126px;
}
.rc360-int-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}
.rc360-int-top label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-weight: 800;
  color: #1f4967;
  cursor: pointer;
}
.rc360-int-top input {
  margin-top: 3px;
  accent-color: #0c96c8;
  width: 18px;
  height: 18px;
}
.rc360-integration p {
  margin: 11px 0 0;
  color: #6c8497;
  font-size: 12px;
  line-height: 1.5;
}
.rc360-help {
  position: relative;
  width: 24px;
  height: 24px;
  min-width: 24px;
  border-radius: 50%;
  border: 1px solid #bcd4e3;
  background: #fff;
  color: #0b6da8;
  font-weight: 900;
  cursor: help;
}
.rc360-tooltip {
  position: absolute;
  right: 0;
  bottom: 32px;
  width: 260px;
  padding: 11px 12px;
  border-radius: 11px;
  background: #0b3154;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  box-shadow: 0 12px 30px rgba(6, 42, 72, 0.22);
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: 0.16s ease;
  z-index: 4;
}
.rc360-help:hover .rc360-tooltip,
.rc360-help:focus .rc360-tooltip {
  opacity: 1;
  transform: none;
}
.rc360-consent {
  position: relative;
  display: flex !important;
  grid-template-columns: none !important;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid #cbdfea;
  background: #f7fbfe;
  border-radius: 14px;
  padding: 15px 16px;
  cursor: pointer;
}
.rc360-consent input {
  position: absolute;
  opacity: 0;
  width: 25px;
  height: 25px;
  left: 15px;
  top: 15px;
  margin: 0;
}
.rc360-consent-box {
  width: 25px;
  height: 25px;
  min-width: 25px;
  border: 2px solid #66869c;
  border-radius: 6px;
  background: #fff;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 900;
  transition: 0.15s ease;
}
.rc360-consent-box span {
  opacity: 0;
  transform: scale(0.7);
}
.rc360-consent input:checked + .rc360-consent-box {
  background: #0b92c5;
  border-color: #0b92c5;
}
.rc360-consent input:checked + .rc360-consent-box span {
  opacity: 1;
  transform: scale(1);
}
.rc360-consent input:focus + .rc360-consent-box {
  box-shadow: 0 0 0 4px rgba(11, 146, 197, 0.16);
}
.rc360-consent-copy {
  display: grid;
  gap: 3px;
}
.rc360-consent-copy strong {
  color: #244b67;
}
.rc360-consent-copy small {
  color: #728a9c;
  line-height: 1.45;
}
.rc360-quiz-actions {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 22px;
}
.rc360-error {
  display: none;
  padding: 18px;
  border-radius: 14px;
  background: #fff0ef;
  border: 1px solid #efc4c0;
  color: #a33b35;
  margin-top: 18px;
}
.rc360-hp {
  position: absolute;
  left: -9999px;
  opacity: 0;
}
.rc360-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(4, 29, 52, 0.58);
  backdrop-filter: blur(8px);
}
.rc360-modal.open {
  display: flex;
}
.rc360-modal-card {
  width: min(520px, 100%);
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 35px 100px rgba(4, 29, 52, 0.3);
  overflow: hidden;
}
.rc360-modal-band {
  height: 8px;
  background: linear-gradient(90deg, #0d7ecb, #0fc7dc, #18b88d);
}
.rc360-modal-body {
  padding: 34px;
  text-align: center;
}
.rc360-success-icon {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e2f8ef;
  color: #07855e;
  font-size: 30px;
  font-weight: 900;
  margin: 0 auto 18px;
}
.rc360-modal h3 {
  font-size: 26px;
  margin: 0 0 8px;
  color: #0b3154;
}
.rc360-modal p {
  color: #668096;
  line-height: 1.65;
}
.rc360-reference {
  display: inline-flex;
  margin: 8px 0 20px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #edf6fc;
  color: #0b659d;
  font-weight: 900;
  letter-spacing: 0.02em;
}
.rc360-modal .rc360-btn {
  min-width: 150px;
}
/* Formulieren in de pop-ups en het contactformulier op smalle schermen. */
@media (max-width: 900px) {
  .rc360-fields {
    grid-template-columns: 1fr;
  }
  .rc360-fields label.full {
    grid-column: auto;
  }
  .rc360-checks {
    grid-template-columns: 1fr;
  }
  .rc360-choice-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .rc360-request-topline {
    display: block;
  }
  .rc360-choice-grid {
    margin-top: 14px;
  }
  .rc360-modal-body {
    padding: 28px 20px;
  }
}

.rc360-turnstile-wrap {
  margin-top: 16px;
  padding: 15px 16px;
  border: 1px solid #d7e7f0;
  border-radius: 14px;
  background: #f8fcfe;
}
.rc360-turnstile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}
.rc360-turnstile-head strong {
  color: #173f5d;
  font-size: 13px;
}
.rc360-turnstile-head small {
  color: #688399;
}
.rc360-turnstile-unavailable {
  padding: 12px 14px;
  border-radius: 10px;
  background: #fff0f1;
  color: #a72d3b;
  font-size: 13px;
  font-weight: 750;
}
.rc360-turnstile-note {
  margin: 9px 0 0;
  color: #71899a;
  font-size: 11px;
  line-height: 1.45;
}
.rc360-intake-closed {
  margin: 22px 0 0;
  padding: 22px 24px;
  border: 1px solid #f2c66d;
  border-radius: 18px;
  background: #fff8e8;
  color: #6f4f08;
  box-shadow: 0 12px 28px rgba(111, 79, 8, 0.08);
}
.rc360-intake-closed[hidden] {
  display: none;
}
.rc360-intake-closed strong {
  display: block;
  font-size: 18px;
  color: #563c06;
  margin-bottom: 7px;
}
.rc360-intake-closed p {
  margin: 0;
  color: #7c642d;
  line-height: 1.55;
}
.rc360-intake-closed .rc360-intake-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 15px;
}
.rc360-intake-closed .rc360-intake-actions[hidden] {
  display: none;
}
.rc360-intake-closed .rc360-intake-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  padding: 11px 15px;
  background: #0b6fae;
  color: #fff;
  font-weight: 850;
}
.rc360-intake-closed .rc360-intake-actions small {
  color: #826b36;
}
.rc360-request-shell.intake-closed {
  display: none;
}
.rc360-branch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
  margin-top: 18px;
}
.rc360-branch {
  position: relative;
  /* Kolom: naam bovenaan, de stand altijd onderaan (gelijke hoogte per rij). */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  border: 1px solid #cfe0eb;
  border-radius: 16px;
  background: #fff;
  padding: 16px;
  min-height: 118px;
  color: #173a54;
  cursor: pointer;
  transition: 0.18s ease;
}
.rc360-branch:hover:not(:disabled) {
  border-color: #1ca6d1;
  box-shadow: 0 10px 24px rgba(8, 119, 207, 0.1);
  transform: translateY(-1px);
}
.rc360-branch.active {
  border: 2px solid #079ad0;
  background: #effaff;
  box-shadow: 0 10px 28px rgba(8, 119, 207, 0.12);
}
.rc360-branch:disabled {
  cursor: not-allowed;
  background: #f3f5f7;
  border-color: #e0e5e9;
  color: #8b98a2;
  box-shadow: none;
}
.rc360-branch strong {
  display: block;
  font-size: 15px;
  margin-bottom: 8px;
}
/* Korte beschrijving van een branchemodule (uit branches.json), boven de stand. */
.rc360-branch-desc {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  line-height: 1.45;
  color: #2f5470;
}
.rc360-branch:disabled .rc360-branch-desc {
  color: #7d8b95;
}
.rc360-branch small {
  display: block;
  margin-bottom: 12px;
  line-height: 1.45;
  color: #638096;
}
.rc360-branch:disabled small {
  color: #929da5;
}
.rc360-branch-status {
  display: inline-flex;
  margin-top: auto;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: #e8f8f1;
  color: #087352;
}
.rc360-branch:disabled .rc360-branch-status {
  background: #e5e8eb;
  color: #737f88;
}
.rc360-review {
  display: grid;
  gap: 10px;
  background: #f5f9fc;
  border: 1px solid #dce8f2;
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 16px;
}
.rc360-review div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.rc360-review span {
  color: #638096;
}
.rc360-review strong {
  text-align: right;
  color: #0d3153;
}
@media (max-width: 900px) {
  .rc360-branch-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .rc360-branch-grid {
    grid-template-columns: 1fr;
  }
  .rc360-review div {
    display: block;
  }
  .rc360-review strong {
    display: block;
    text-align: left;
    margin-top: 3px;
  }
}

/* Voorheen inline stijlen in de pop-up (s10/s11 zet het script om). */
.rc360-s9 {
  background: rgba(255, 255, 255, 0.13) !important;
  color: #dff5ff !important;
}
.rc360-s10 {
  visibility: hidden;
}
.rc360-s11 {
  display: none;
}
/* Omgevingslabel op O en T. */
.rc360-environment {
  position: fixed;
  left: 12px;
  bottom: 12px;
  z-index: 60;
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff3dc;
  color: #6f4f08;
  border: 1px solid #f2c66d;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}
.rc360-environment[hidden] {
  display: none;
}

/* Foutpagina voor een niet-bestaand subdomein */
.rc360-notfound {
  max-width: 720px;
  margin: 0 auto;
  padding: 96px 24px 120px;
  text-align: center;
}
.rc360-notfound h1 {
  margin: 10px 0 14px;
  font-size: clamp(30px, 5vw, 44px);
  color: #0c2a4a;
}
.rc360-notfound p {
  font-size: 17px;
  line-height: 1.6;
  color: #344054;
}
.rc360-notfound .rc360-hero-actions {
  justify-content: center;
}

/* Pakketten: kaarten (Solo, Professional, Enterprise) en featurematrix, live uit het CC */
.rc360-plan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  margin-top: 34px;
}
.rc360-plan {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 26px;
  box-shadow: var(--shadow);
  min-width: 0;
}
.rc360-plan-solo {
  border-color: #9fdcec;
  background: linear-gradient(180deg, #f0fbfe 0%, #fff 42%);
}
.rc360-plan h3 {
  margin: 0;
  font-size: 24px;
  color: #0d4066;
}
.rc360-plan-intro {
  margin: 0;
  color: #688298;
  line-height: 1.6;
}
.rc360-plan-price {
  margin: 4px 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}
.rc360-plan-price strong {
  font-size: 32px;
  letter-spacing: -0.02em;
  color: #0c3153;
}
.rc360-plan-terms {
  margin: 0;
  color: #46677e;
  font-size: 13px;
  line-height: 1.6;
}
.rc360-plan-facts {
  margin: 0;
  padding-left: 19px;
  color: #46677e;
  line-height: 1.8;
}
/* Knoppen onderaan de kaart: onder elkaar, allemaal even breed en even hoog. */
.rc360-plan-actions {
  margin-top: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding-top: 6px;
}
.rc360-plan-actions .rc360-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  text-align: center;
  line-height: 1.25;
}
/* Primair zonder rand, secundair met: een doorzichtige rand houdt ze even hoog. */
.rc360-plan-actions .rc360-btn:not(.alt) {
  border: 1px solid transparent;
}
.rc360-plan-matrix {
  margin-top: 40px;
}
.rc360-plan-matrix[hidden] {
  display: none;
}
.rc360-plan-matrix h3 {
  margin: 0 0 14px;
  font-size: 22px;
  color: #0d4066;
}
/* De matrix scrolt binnen zijn eigen vak; de pagina zelf scrolt nooit opzij. */
.rc360-matrix-scroll {
  /* Ook de verborgen schermlezertekst (.rc360-sr) blijft binnen dit vak. */
  position: relative;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.rc360-matrix-scroll:focus-visible {
  outline: 3px solid #0bb9d2;
  outline-offset: 2px;
}
.rc360-matrix {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 14px;
}
.rc360-matrix th,
.rc360-matrix td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.rc360-matrix thead th {
  background: var(--soft);
  color: #0c3153;
  font-size: 15px;
}
.rc360-matrix tbody th {
  color: #46677e;
  font-weight: 700;
}
.rc360-matrix-group th {
  background: #f7fbfe;
  color: #0b7db1;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.rc360-matrix td {
  color: var(--ink);
}
.rc360-matrix .rc360-yes {
  color: #087a56;
  font-weight: 900;
}
.rc360-matrix .rc360-no {
  color: #9db2c2;
}
/* Label boven een pakketkaart (Catalogus › Website), bijv. "Meest gekozen". */
.rc360-plan-badge {
  justify-self: start;
  align-self: start;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--accent);
  color: var(--white);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.rc360-plan.rc360-plan-featured {
  border-color: #7fcde6;
  box-shadow: 0 22px 60px rgba(8, 119, 207, 0.16);
}
@media (max-width: 900px) {
  .rc360-plan-grid {
    grid-template-columns: 1fr;
  }
}

/*
 * Kaartrijen netjes uitgelijnd: kaarten in een rij even hoog en hun onderdelen op dezelfde
 * hoogte, met subgrid. Zonder subgrid (oudere browsers) en op smalle schermen: kaarten als
 * kolom, met de pijl of de knoppen onderaan.
 */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 901px) {
    /* Pakketten: label, titel, omschrijving, prijs, voorwaarden, kenmerken, knoppen. */
    .rc360-plan {
      display: grid;
      grid-row: span 7;
      grid-template-rows: subgrid;
      row-gap: 0;
    }
    .rc360-plan > * {
      margin: 0 0 12px;
    }
    .rc360-plan > .rc360-plan-badge {
      grid-row: 1;
    }
    .rc360-plan h3 {
      grid-row: 2;
      margin-bottom: 12px;
    }
    .rc360-plan-intro {
      grid-row: 3;
    }
    .rc360-plan-price {
      grid-row: 4;
      align-self: start;
    }
    .rc360-plan-terms {
      grid-row: 5;
    }
    .rc360-plan-facts {
      grid-row: 6;
    }
    .rc360-plan > .rc360-plan-actions {
      grid-row: 7;
      align-self: end;
      margin: 0;
    }
  }
  @media (min-width: 641px) {
    /* Toepassingen en samenhang: icoon, titel, tekst (en pijl). */
    .rc360-usecase {
      display: grid;
      grid-row: span 4;
      grid-template-rows: subgrid;
      row-gap: 0;
    }
    .rc360-feature {
      display: grid;
      grid-row: span 3;
      grid-template-rows: subgrid;
      row-gap: 0;
    }
    .rc360-usecase .rc360-ico,
    .rc360-feature .rc360-ico,
    .rc360-arrow {
      justify-self: start;
    }
    .rc360-arrow {
      align-self: end;
    }
    /* Veiligheid: titel en tekst per tegel. */
    .rc360-security-card {
      display: grid;
      grid-row: span 2;
      grid-template-rows: subgrid;
      row-gap: 0;
    }
  }
}

/* Solo aanmelden als pop-up (zelfde opbouw als de bevestiging hierboven). */
.rc360-solo-modal {
  align-items: flex-start;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.rc360-solo-modal [hidden] {
  display: none !important;
}
.rc360-modal-card.rc360-solo-card {
  width: min(720px, 100%);
  margin: auto;
}
.rc360-solo-card:focus {
  outline: none;
}
.rc360-solo-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 26px 30px 0;
}
.rc360-solo-head h2 {
  margin: 6px 0 0;
  font-size: 26px;
  color: var(--navy);
}
.rc360-dialog-close {
  flex: none;
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--soft);
  color: var(--ink);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.rc360-dialog-close:focus-visible,
.rc360-solo-card .rc360-btn:focus-visible,
.rc360-link:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 2px;
}
.rc360-solo-body {
  padding: 18px 30px 30px;
}
.rc360-solo-price {
  margin-bottom: 18px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
  color: var(--ink);
}
.rc360-solo-price ul {
  margin: 8px 0 0;
  padding-left: 19px;
  color: var(--muted);
  line-height: 1.6;
}
.rc360-solo-form fieldset {
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  min-width: 0;
}
.rc360-solo-form legend {
  margin-bottom: 10px;
  font-weight: 850;
  color: var(--navy);
}
.rc360-field-error {
  color: #a33b35;
  font-weight: 700;
}
.rc360-field-hint,
.rc360-solo-note {
  color: var(--muted);
  font-weight: 500;
  font-size: 13px;
}
.rc360-solo-check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  line-height: 1.5;
  color: var(--ink);
}
.rc360-solo-check input {
  margin-top: 4px;
}
.rc360-link {
  padding: 0;
  border: 0;
  background: none;
  color: var(--blue);
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
.rc360-link:disabled {
  color: inherit;
  text-decoration: none;
  cursor: default;
}
.rc360-solo-legal {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
}
.rc360-solo-legal pre {
  max-height: 260px;
  overflow: auto;
  white-space: pre-wrap;
  font: inherit;
  font-size: 13px;
}
.rc360-solo-turnstile {
  margin-top: 14px;
}
.rc360-solo-actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.rc360-solo-actions .rc360-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  min-width: 150px;
}
.rc360-solo-done {
  text-align: center;
}
.rc360-solo-done .rc360-solo-actions {
  justify-content: center;
}
.rc360-solo-steps {
  display: inline-block;
  margin: 0 0 12px;
  text-align: left;
  color: var(--ink);
  line-height: 1.7;
}
.rc360-solo-problem strong {
  color: var(--navy);
  font-size: 18px;
}
/* Offerte of pilot aanvragen als pop-up: zelfde opbouw als Solo, iets breder voor de branches. */
.rc360-modal-card.rc360-request-card {
  width: min(900px, 100%);
}
.rc360-request-intro {
  margin: 0;
}
.rc360-request-modal .rc360-intake-closed {
  margin-top: 16px;
}
.rc360-request-modal .rc360-intake-closed .rc360-solo-actions {
  justify-content: flex-start;
}
.rc360-request-modal .rc360-request-shell {
  margin-top: 18px;
  box-shadow: none;
}
.rc360-request-modal .rc360-quiz {
  padding: 24px;
}
.rc360-request-modal .rc360-step h3 {
  margin: 0 0 6px;
  font-size: 22px;
}
.rc360-request-modal .rc360-quiz-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}
.rc360-request-cancel {
  margin-right: auto;
}
.rc360-request-modal .rc360-quiz-actions .rc360-btn:focus-visible,
.rc360-kind:focus-visible,
.rc360-branch:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 2px;
}
@media (max-width: 600px) {
  .rc360-solo-head {
    padding: 20px 20px 0;
  }
  .rc360-solo-body {
    padding: 16px 20px 22px;
  }
  .rc360-solo-actions .rc360-btn {
    flex: 1 1 100%;
  }
  .rc360-request-modal .rc360-quiz {
    padding: 18px;
  }
}
