/* ============================================
   LEAKFIND POOL DIAGNOSTICS — BRUTALIST THEME
   ============================================ */

:root {
  --brutal-black: #0a0a0a;
  --brutal-white: #f5f0e8;
  --brutal-yellow: #FFD600;
  --brutal-red: #FF0040;
  --brutal-blue: #0057FF;
  --brutal-cyan: #00E5FF;
  --border-thick: 4px;
  --border-heavy: 6px;
}

/* Reset Pico overrides for brutalist feel */
:root {
  --pico-font-family: 'IBM Plex Mono', monospace;
  --pico-font-size: 16px;
  --pico-border-radius: 0;
  --pico-primary: var(--brutal-yellow);
  --pico-primary-hover: var(--brutal-cyan);
}

* {
  border-radius: 0 !important;
}

body {
  font-family: 'IBM Plex Mono', monospace;
  background: var(--brutal-white);
  color: var(--brutal-black);
}

/* ---- BRUTALIST LINKS ---- */
a {
  color: var(--brutal-blue);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  transition: none;
}
a:hover {
  color: var(--brutal-black);
  background: var(--brutal-yellow);
}

/* ---- BRUTALIST BUTTONS ---- */
.btn-brutal {
  display: inline-block;
  padding: 14px 28px;
  font-family: 'Space Mono', monospace;
  font-weight: 700;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  border: var(--border-thick) solid var(--brutal-black);
  background: var(--brutal-yellow);
  color: var(--brutal-black);
  cursor: pointer;
  position: relative;
  box-shadow: 6px 6px 0 var(--brutal-black);
  text-decoration: none;
  transition: none;
}
.btn-brutal:hover {
  transform: translate(3px, 3px);
  box-shadow: 3px 3px 0 var(--brutal-black);
  background: var(--brutal-cyan);
  color: var(--brutal-black);
}
.btn-brutal:active {
  transform: translate(6px, 6px);
  box-shadow: 0 0 0 var(--brutal-black);
}

.btn-brutal-outline {
  display: inline-block;
  padding: 14px 28px;
  font-family: 'Space Mono', monospace;
  font-weight: 700;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  border: var(--border-thick) solid var(--brutal-black);
  background: transparent;
  color: var(--brutal-black);
  cursor: pointer;
  position: relative;
  box-shadow: 6px 6px 0 var(--brutal-black);
  text-decoration: none;
  transition: none;
}
.btn-brutal-outline:hover {
  transform: translate(3px, 3px);
  box-shadow: 3px 3px 0 var(--brutal-black);
  background: var(--brutal-black);
  color: var(--brutal-yellow);
}

/* ---- BRUTALIST CARDS ---- */
.card-brutal {
  border: var(--border-thick) solid var(--brutal-black);
  background: var(--brutal-white);
  box-shadow: 8px 8px 0 var(--brutal-black);
  padding: 2rem;
  position: relative;
}
.card-brutal:hover {
  transform: translate(4px, 4px);
  box-shadow: 4px 4px 0 var(--brutal-black);
}

/* ---- SECTION DIVIDERS ---- */
.section-brutal {
  border-bottom: var(--border-heavy) solid var(--brutal-black);
  padding: 4rem 0;
}

/* ---- HERO ---- */
.hero-brutal {
  background: var(--brutal-black);
  color: var(--brutal-white);
  border-bottom: var(--border-heavy) solid var(--brutal-yellow);
  position: relative;
  overflow: hidden;
}
.hero-brutal::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 2px,
      rgba(255, 214, 0, 0.03) 2px,
      rgba(255, 214, 0, 0.03) 4px
    );
  pointer-events: none;
}

/* ---- MARQUEE / TICKER ---- */
.ticker-brutal {
  background: var(--brutal-yellow);
  color: var(--brutal-black);
  border-top: 3px solid var(--brutal-black);
  border-bottom: 3px solid var(--brutal-black);
  overflow: hidden;
  white-space: nowrap;
  font-family: 'Space Mono', monospace;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.75rem;
  padding: 8px 0;
}
.ticker-brutal .ticker-content {
  display: inline-block;
  animation: ticker 30s linear infinite;
}
@keyframes ticker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ---- FORM INPUTS (brutalist) ---- */
input, textarea, select {
  border: 3px solid var(--brutal-black) !important;
  border-radius: 0 !important;
  font-family: 'IBM Plex Mono', monospace !important;
  background: var(--brutal-white) !important;
  padding: 12px !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--brutal-yellow) !important;
  box-shadow: 4px 4px 0 var(--brutal-black) !important;
  outline: none !important;
}

/* ---- LABEL ---- */
label {
  font-family: 'Space Mono', monospace;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.75rem;
}

/* ---- NUMBERED LIST (services) ---- */
.service-number {
  font-family: 'Space Mono', monospace;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1;
  color: var(--brutal-yellow);
  -webkit-text-stroke: 2px var(--brutal-black);
}

/* ---- STAGGER ENTRANCE ---- */
.stagger-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.stagger-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ---- 404 GLITCH ---- */
.glitch {
  position: relative;
  font-size: 8rem;
  font-weight: 700;
  font-family: 'Space Mono', monospace;
  color: var(--brutal-black);
}
.glitch::before,
.glitch::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.glitch::before {
  animation: glitch-1 0.4s infinite linear alternate-reverse;
  color: var(--brutal-red);
  clip-path: polygon(0 0, 100% 0, 100% 35%, 0 35%);
}
.glitch::after {
  animation: glitch-2 0.4s infinite linear alternate-reverse;
  color: var(--brutal-cyan);
  clip-path: polygon(0 65%, 100% 65%, 100% 100%, 0 100%);
}
@keyframes glitch-1 {
  0% { transform: translate(0); }
  20% { transform: translate(-3px, 3px); }
  40% { transform: translate(3px, -3px); }
  60% { transform: translate(-2px, 1px); }
  80% { transform: translate(2px, -2px); }
  100% { transform: translate(0); }
}
@keyframes glitch-2 {
  0% { transform: translate(0); }
  20% { transform: translate(3px, -2px); }
  40% { transform: translate(-3px, 2px); }
  60% { transform: translate(2px, -1px); }
  80% { transform: translate(-2px, 3px); }
  100% { transform: translate(0); }
}

/* ---- RESPONSIVE ---- */
@media (max-width: 768px) {
  .glitch { font-size: 5rem; }
  .service-number { font-size: 2rem; }
}
