a { color: #060606; }
html,
body { overflow-x: hidden; }
a:hover { color: #000; }
.section-dark a,
.rt-dark a { color: #cef71f; }
input,
select,
textarea,
button { font-family: "IBM Plex Sans", sans-serif; }
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
a:focus-visible { outline: 2px solid #cef71f; outline-offset: 2px; }
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details > summary::after { content: "+"; margin-left: auto; font-weight: 400; font-size: 1.5rem; line-height: 1; opacity: .55; }
details[open] > summary::after { content: "−"; }
input[type="range"] { accent-color: #cef71f; }

/* Quiet interaction cues, consistent with the existing button treatments. */
header nav a {
  position: relative;
  transition: color 180ms ease;
}
header nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease;
}
header nav a:focus-visible::after { transform: scaleX(1); }
@media (hover: hover) and (pointer: fine) {
  header nav a:hover::after { transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body *, body *::before, body *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
@media print {
  body * { animation: none !important; }
}
.hp-field { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.cookie-consent { position: fixed; z-index: 500; right: 1rem; bottom: 1rem; left: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; max-width: 920px; margin: auto; padding: 1.1rem 1.2rem; border: 1px solid rgba(206,247,31,.55); border-radius: 20px; background: #000; color: #fafafa; box-shadow: 0 28px 84px rgba(0,0,0,.35); }
.cookie-consent[hidden] { display: none; }
.cookie-consent h2 { margin: 0; font-size: 1rem; color: #fafafa; }
.cookie-consent p { margin: .35rem 0 0; font-size: .82rem; line-height: 1.5; color: rgba(250,250,250,.72); }
.cookie-consent > div:first-child { flex: 1 1 auto; max-width: 62ch; min-width: 0; }
.cookie-consent a { color: #cef71f; }
.cookie-consent-actions { display: flex; gap: .55rem; flex: 0 0 auto; }
.cookie-consent button { padding: .7rem 1rem; border-radius: 999px; border: 1px solid #cef71f; font-weight: 700; cursor: pointer; }
.cookie-consent [data-analytics-reject] { background: transparent; color: #fafafa; }
.cookie-consent [data-analytics-accept] { background: #cef71f; color: #000; }

@media (max-width: 900px) {
  header > .container { min-height: 72px !important; flex-wrap: wrap; padding: .85rem 0; }
  header nav { order: 3; width: 100%; overflow-x: auto; flex-wrap: nowrap !important; padding-bottom: .35rem; }
  header nav a { white-space: nowrap; }
  main .container[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  main [style*="grid-template-columns:repeat(4"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  main [style*="grid-template-columns:repeat(3"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  footer .container > div:first-child { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 600px) {
  .section { padding: 3rem 0 !important; }
  main [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  header nav { display: none !important; }
  header > .container > div:last-child a { padding: .62rem .9rem !important; font-size: .78rem !important; }
  footer .container > div:first-child { grid-template-columns: 1fr !important; }
  .cookie-consent { flex-direction: column; align-items: stretch; }
  .cookie-consent-actions { justify-content: flex-end; }
}
