:root {
  --primary: 132 100% 50%;
  --primary-foreground: 150 20% 6%;
  --ring: 140 100% 25%;
  --secondary: 150 12% 35%;
  --color-red-50: #eaffef;
  --color-red-100: #b3ffc3;
}

/* Keep text legible on light surfaces while using neon green for fills. */
.text-primary { color: #007a29; }
.hover\:text-primary:hover,
.hover\:text-primary\/80:hover { color: #007a29; }
.group:hover .group-hover\:text-primary { color: #007a29; }
h1 .text-primary {
  color: #101b13;
  background: #00ff33;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: 0 .12em;
}

.cv-consent-checkbox{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:#007a29;cursor:pointer}
.cv-header-phone,.cv-footer-phone{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;font-weight:600;font-size:.875rem}
.cv-header-phone:hover,.cv-mobile-phone:hover{text-decoration:underline;color:#007a29}
.cv-mobile-phone{margin-left:3rem;font-size:.8125rem;font-weight:600}
.cv-footer-phone{color:#00ff33;font-size:1.125rem}
.cv-footer-phone:hover{text-decoration:underline}
header details > summary { list-style: none; }
header details > summary::-webkit-details-marker { display: none; }
header nav details > ul { width: 15rem; max-height: 70vh; overflow: auto; left: 0; right: auto; }
header > .absolute { max-height: calc(100dvh - 5rem); overflow-y: auto; }
@media (min-width:1024px) {
  header .lg\:hidden { display: none; }
  header .hidden.lg\:flex { display: flex; }
}
@media (min-width:768px) and (max-width:1050px){.cv-header-nav{gap:1rem}.cv-header-nav>a{margin:0;font-size:.75rem}}
@media (min-width:768px) and (max-width:900px){.cv-header-nav{display:none}}
.cv-consent-checkbox:focus-visible{outline:2px solid #007a29;outline-offset:3px}
.cv-overlay{position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.6);display:flex;align-items:center;justify-content:center;padding:1rem}
.cv-dialog{position:relative;background:hsl(var(--background));color:hsl(var(--foreground));border-radius:.75rem;max-width:32rem;width:100%;padding:1.5rem;box-shadow:0 20px 40px rgba(15,23,42,.25)}
.cv-dialog h3{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}
.cv-dialog p{font-size:.875rem;line-height:1.6;color:hsl(var(--muted-foreground));margin-bottom:.75rem}
.cv-close{position:absolute;top:1rem;right:1rem;padding:.25rem;border-radius:.25rem;color:hsl(var(--muted-foreground))}
.cv-close:hover{color:hsl(var(--foreground))}
