 :root{
/* a11ychecks dark theme: black + yellow + green */
--bg:#0b0b0b;
--panel:#121212;
--text:#f5f5f5;
--muted:#c7c7c7;
--yellow:#ffd400; /* headers */
--green:#29d18b; /* accents */
--border:#242424;
--focus:#7ae2ff;
}
html,body{ margin:0; background:var(--bg); color:var(--text); font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; }

a{ color:var(--green); }
a:focus, button:focus, summary:focus, [href]:focus{ outline:3px solid var(--focus); outline-offset:3px; border-radius:.2rem; }

.wrap{ max-width:1200px; margin-inline:auto; padding:24px; }

  *{box-sizing:border-box}
  a{color:var(--green);text-decoration:underline}
  a:hover{color:#b9ffd8}
  img{max-width:100%;height:auto;display:block}
  code{background:#1a1a1a;color:#fff;padding:.15rem .35rem;border-radius:.35rem}
  pre{background:#111;padding:1rem;border-radius:.65rem;overflow:auto}
  .logo{width:120px;height:auto;border-radius:50%}

  /* Header with nav */
  header.site-header{padding:16px 0;border-bottom:1px solid var(--line)}
  .header-row{display:flex;align-items:center;justify-content:space-between;gap:28px}
  .brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--text)}


  nav[aria-label="Primary"]{flex:1}
  .menu{list-style:none;margin:0;padding:0;display:flex;justify-content:flex-end;align-items:center;gap:34px}
  .menu > li{position:relative}
  summary{list-style:none;cursor:pointer}
  summary::-webkit-details-marker{display:none}
  .menu summary, .menu > li > a{
    color:#e7eee9;text-decoration:none;font-weight:800;letter-spacing:.01em;
    font-size:1.15rem;padding:.35rem .25rem;border-radius:10px;
    display:inline-flex;align-items:center;gap:.45ch
  }
  .menu summary::after{content:"▾";opacity:.85;transform:translateY(-1px)}
  .menu summary:focus, .menu > li > a:focus{outline:2px solid #fff;outline-offset:3px;border-radius:10px}

  .submenu{
    position:absolute;top:calc(100% + .6rem);left:0;min-width:260px;
    background:var(--panel);border:1px solid var(--line);border-radius:12px;
    box-shadow:0 10px 28px rgba(0,0,0,.35);padding:.5rem 0;margin:0;list-style:none;
    opacity:0;visibility:hidden;transform:translateY(6px);
    transition:opacity .16s ease,transform .16s ease,visibility .16s linear;z-index:10
  }
  details[open] > .submenu{opacity:1;visibility:visible;transform:translateY(0)}
  .submenu a{display:block;padding:.75rem 1rem;color:#fff;text-decoration:none;font-weight:700}
  .submenu a:hover,.submenu a:focus{background:#1b2624}
  .menu > li:last-child details .submenu,
  .menu > li:nth-last-child(2) details .submenu{right:0;left:auto}

  /* ===== Contact Form ===== */
  main{padding-block:3rem}
  h1{color:var(--yellow);font-size:2.6rem;margin-bottom:1.25rem}
  p.lede{color:var(--muted);max-width:70ch}
  form{
    margin-top:2rem;
    background:var(--panel);
    padding:2rem;
    border-radius:12px;
    border:1px solid var(--line);
    max-width:700px;
  }
  label{display:block;font-weight:700;margin-top:1rem;color:var(--green)}
  input,textarea{
    width:100%;
    padding:.75rem 1rem;
    margin-top:.4rem;
    border-radius:6px;
    border:1px solid var(--line);
    background:#0e1d1a;
    color:var(--text);
    font-size:1rem;
  }
  input:focus,textarea:focus{outline:2px solid var(--green);outline-offset:2px}
  textarea{resize:vertical;min-height:150px}
  button{
    background:var(--green);
    color:#081312;
    font-weight:800;
    border:none;
    padding:.9rem 1.5rem;
    border-radius:9999px;
    cursor:pointer;
    font-size:1.1rem;
    margin-top:1.5rem;
  }
  button:hover{background:var(--yellow)}
  .error{color:var(--error);margin-top:.5rem;font-size:.95rem}
  .success{color:var(--green);margin-top:1rem;font-weight:700}
  footer{padding:2rem 0;border-top:1px solid var(--line);text-align:center;color:#aebbb7}